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 不需要建临时表吗?
还是每次都要保存历史查询呢?