首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

select的结果导入到一个临时表(列是动态的)里的有关问题

2012-03-09 
select的结果导入到一个临时表(列是动态的)里的问题我现在用一个sql语句查了n张表,想把查询的结果导到一个

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

热点排行