读书人

在2000中如何实现下面这个有关问题

发布时间: 2012-01-21 21:31:43 作者: rapoo

在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)

读书人网 >SQL Server

热点推荐