日期:2014-05-17  浏览次数:20456 次

如何查询2表,结果集赋值给临时表。

承认自己是有点懒了……

表1:字段A,字段B
表2:字段C,字段D

(需要的)临时表:字段E,字段F

insert into #临时表
select * from 表1
union
select* from 表2


表1的字段A+表2的字段C=临时表的字段E
表1的字段B+表2的字段D=临时表的字段F

1、不知道怎么对应起来……
2、写在存储过程里面时,是否需要声明创建#临时表?或者是直接写?

------解决方案--------------------
1.把选取的字段和插入到表的字段都写出来就可以。

2. 建议规范点,把临时表前面定义一下。

------解决方案--------------------
不需要临时可以解决,直接写
insert into 表名(E,F)
select  sum(A) as A,sum(B) as b
from(
select A,B from 表1 
union select C,D from 表2 
)t


------解决方案--------------------

--不声明

select e,f into #tb
from (
    select a as e,b as f from tb1
    union all
    select c,d from tb2
) tmp

--另外需注意对应字段的数据类型是否可以这样做union all。