declare @sql varchar(8000)
set @sql = 'select name'
select @sql =@sql + ',sum(case km when '''+km+''' then cj end) ['+km+']'
 from (select distinct km from test) as a
select @sql = @sql+' into #t from test group by name'
exec(@sql)select * from #t--drop table #t

解决方案 »

  1.   

    declare @sql varchar(8000)
    set @sql = 'select name'
    select @sql =@sql + ',sum(case km when '''+km+''' then cj end) ['+km+']'
     from (select distinct km from test) as a
    select @sql = @sql+' into ##t from test group by name'
    exec(@sql)select * from ##tdrop table ##t
      

  2.   

    hehe,是应该用全局临时表!如果邹建回答快点我的回答就不会错了!
      

  3.   

    不懂,求大侠们解释一下
    declare @sql varchar(8000)
    set @sql = 'select name'
    select @sql =@sql + ',sum(case km when '''+km+''' then cj end) ['+km+']'
     from (select distinct km from test) as a
    select @sql = @sql+' from test group by name'
    exec(@sql)
    谢谢