主题:Select 产生临时表的计算
pupil
[专家分:0] 发布于 2009-08-06 16:13:00
向各位老师请教:
我用SELECT ..... INTO CURSOR TEMP 产生一个临时表TEMP,
然后要对此表中的数据用 SELECT 进行加总等计算,
SELECT SUM() ..... FROM TEMP....
但提示TEMP 必须由 SELECT .....INTO TABLE ... 建立
但由于这是一个查询,经常用,我不想保留这些临时数据. 可以用什么变通方法?
多谢谢!
回复列表 (共5个回复)
沙发
ihorse [专家分:970] 发布于 2009-08-06 16:29:00
用 SELECT .....INTO TABLE ... 建立temp,处理完成后删除这个temp吧
板凳
zxl931 [专家分:3420] 发布于 2009-08-06 20:48:00
不用生成临时表,以下一句就可直接生成最终结果:
SELECT SUM() ..... FROM (SELECT ... FROM 数据表 WHERE ...) AS TempAliasName INTO CURSOR TempCursor
3 楼
pupil [专家分:0] 发布于 2009-08-06 23:50:00
谢谢二位老师指点.!
二楼的意见在一般情况下是可行的.
但我的第二个计算SELECT 是在一个函数里,
先在主程序用SELECT .....CURSOR TEMP 查出临时所需的数据,再传到过程文件中用 SELECT SUM() .......计算.
能否有一个变通方法?
谢谢!
4 楼
yjr3032570 [专家分:3360] 发布于 2009-08-07 09:35:00
SELECT ..... INTO CURSOR TEMP [color=FF0000]READWRITE[/color](可读写)
5 楼
pupil [专家分:0] 发布于 2009-08-07 10:23:00
多谢谢三楼老师指点! 问题完全解决!!!!
我来回复