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

在2000中怎么实现下面这个问题?
如数据库中有下面的表table  
id   name   value
1     a         11
2     b         25
3     c         30
4     d         99
5     e         3
……

怎么写sql语句变成
a       b     c     d     e  
11     25   30   99   3

------解决方案--------------------
declare @sql varchar(8000)
set @sql = ' '
select @sql = @sql + ', ' + name + '=sum(case name when ' ' ' + name + ' ' ' then value else 0 end) '
from table group by name
set @sql = 'select ' + stuff(@sql,1,1, ' ') + ' from table '
EXEC(@sql)