CREATE TABLE #T(工号 varchar(50),姓名 varchar(50),部门 varchar(50),S INT,T INT)--DROP TABLE 加班表declare @sql varchar(8000) 
set @sql = 'select 姓名,部门,工号' 
select @sql = @sql + ',max(case 日期 when '''+日期+''' then 加班 end) ['+日期+']' 
from (select distinct 日期 from 加班表) as a 
select @sql = @sql+' into #T from 加班表 group by 姓名,部门,工号' 
exec(@sql)

解决方案 »

  1.   

    在select @sql = @sql+' from 加班表 group by 姓名,部门,工号' 加into #T,跟普通生成临时表是一样的~~~
      

  2.   

    我的目的是根据动态生成的结果插入一个临时表里然后整理,在导入正式表
    但是你上面所做的我查询select * from #t 里面没有任何的值呀
      

  3.   

    我的目的只是想生成一个表如下面的结果,只是想最后添加一个合计的列计算2007-7-1~2006-7....的加班合计
    姓名     部门     工号    2006-7-1  2006-7-2  ........  合计
    李三 M104 003 1 6         .......
    孙二 M103 002 2 7         .......
    赵一 M102 001 3 4        ........
    请大家帮忙
      

  4.   


    declare @sql varchar(8000) 
    set @sql = 'select 姓名,部门,工号' 
    select @sql = @sql + ',max(case 日期 when '''+日期+''' then 加班 end) ['+日期+']' 
    from (select distinct 日期 from 加班表) as a 
    select @sql = @sql+'into ##temp from 加班表 group by 姓名,部门,工号' 
    exec(@sql)
      

  5.   

    主要是增加一个合计列,计算这段时间内的加班合计,上面cosio()不能做到!!!!!!
    请高手解答