日期:2014-05-18  浏览次数:20486 次

select的结果导入到一个临时表(列是动态的)里的问题
我现在用一个sql语句查了n张表,想把查询的结果导到一个历史表里,例如 
select c.BranchName as 公司,  
  sum(case endreason when '总人数 ' then 1 else 0 end) 总人数, 
  sum(case endreason when '全勤人数 ' then 1 else 0 end) 全勤人数 
from 
  表1 la left join 表2 a on la.id=a.id left join 表3 b on a.depID=b.depid left join 表4 c on b.name=c.name group by c.name , c.nameid order by c.nameid asc 


  大体就是这个意思,反正这个sql语句能查出我需要的结果集,但是我把这个结果填加到一个临时表里(临时表目前不存在),请问怎么搞定?谢谢~ 

问题补充: 
insert into #P select  
这个方法是不错,不过这样必须先建一个临时表,问题就在这了,我查询的时候,列不是固定的!所以用这种方法不大行~还有其他办法不?谢谢了!

各位高手手好快啊!刚才我还没写完问题补充,就都回答完了~我还是再开一个帖子吧~刚才那个大家都不进了~哎~~~谢谢各位了!

------解决方案--------------------
select c.BranchName as 公司,
sum(case endreason when '总人数 ' then 1 else 0 end) 总人数,
sum(case endreason when '全勤人数 ' then 1 else 0 end) 全勤人数 into #t
from
表1 la left join 表2 a on la.id=a.id left join 表3 b on a.depID=b.depid left join 表4 c on b.name=c.name group by c.name , c.nameid order by c.nameid asc
------解决方案--------------------
select * into # from table
------解决方案--------------------
SQL code

可以这样。直接复制表结构和表数据;
select * into #temp from (查询语句)a
这样直接将查出来的结果全部导到#temp里面去了。。

------解决方案--------------------
LZ不知道insert into #temp select * from tablename 需要先建临时表;
而select * into #temp from tablename 不需要建临时表吗?
还是每次都要保存历史查询呢?