SQL行转列合计
如下动态表:
帐户( as int), 商品编号(as int),数量(as real)
101 1001 5
102 1001 3
101 1001 12
102 1001 9
需显示:
商品编号 101 102
1001 17 12
注意数据类型
[解决办法]
declare @sql varchar(8000)set @sql = 'select 商品编号 'select @sql = @sql + ' , sum(case 帐户 when ''' + ltrim(帐户) + ''' then 数量 else 0 end) [' + ltrim(帐户) + ']'from (select distinct 帐户 from tb) as aset @sql = @sql + ' from tb group by 商品编号'exec(@sql)