临时表问题?
我用select czy from ggczyb into temp abc为什么接着用select * from abc提示没有abc这张表呢?? 如何接着查询的?你断开过连接么?
临时表在断开连接或者提交事务回滚事务后会自动消失。
临时表只对生成它的那个连接有效。 呵呵,我确实断开过,刚才试成功了,再有一问就是:
select czy from ggczyb into temp abc union select khjl from khjldmb
怎么就不能插入到abc表中呢?
如何将ggczyb和khjldmb两张表中的两个字段都插到同一个临时表中呢? select czy
from ggczyb
into temp abc
;
insert into abc
select khjl
from khjldmb
;
分两步吧
回复 #4 ivhb 的帖子
谢谢ivhb兄,已经OK了,还有一问,如何在插入临时表的时候,多加一列,我的目的是为了记录它源于哪个表;select czy,'table_ggczyb' from ggczyb into temp abc;
insert into abc select khjl,'table_khjldmb' from khjldmb;
但我在试上面的语句的时候,行不通???
提示
249:Virtual column must have explicit name.
[ 本帖最后由 oicq63236 于 2008-5-15 16:03 编辑 ] select czy from ggczyb
union
select khjl from khjldmb
into temp abc ;
这样重复的行被滤掉。
select czy from ggczyb
union all
select khjl from khjldmb
into temp abc ;
包含所有行
[ 本帖最后由 xxyyy 于 2008-5-15 16:08 编辑 ] 原帖由 oicq63236 于 2008-5-15 16:01 发表 http://bbs.chinaunix.net/images/common/back.gif
谢谢ivhb兄,已经OK了,还有一问,如何在插入临时表的时候,多加一列,我的目的是为了记录它源于哪个表;
select czy,'table_ggczyb' from ggczyb into temp abc;
insert into abc select khjl,'table_khjldm ...
select czy, cast ('table_ggczyb'as char (32)) as tabname from ggczyb into temp abc; 或者
select czy, 'table_ggczyb'::char (32) as tabname from ggczyb into temp abc;
回复 #8 ivhb 的帖子
xxyyy兄的不行,我试过了,在SQL2000中可以,按IVHB兄的方法已经弄成了,再问最后一个问题:select max10all,max10cz,max10lcr from ABC;
我的意思就是从ABC表中的CZY字段,来分别统计前十个最大的,max10cz和条件是从所有czy字段 and 字段czyb='C'中取前十个最大的,max10lrc的条件是从czy字段 and 字段lcr='L'中取前十个最大的,MAX10ALL就是从所有czy中取最大的前十个. 啊,这是informix板块啊,你用的是sql2000吗?
页:
[1]
2