jimmyxing

先有表A:
字段为:
Id,ItemName, Charge(金额)
1   收费1    10
1   收费2    20
2   收费2    10
2   收费3    15
3   收费1    20
3   收费3    10
.
.
.
重要:收费项目(ItemName)不固定
我想得到的结果如下:
Id   收费1    收费2  收费3 
1    10        20     0
2    0         10     15
3    20        0      10

请问如何写SQL语句?


declare @s varchar(8000)
set @s=\'\'
select @s=@s+\',[\'+rtrim(ItemName)+\']=sum(case ItemName when \'\'\'+rtrim(ItemName)+\'\'\' then Charge else 0 end)\'
from 表A group by ItemName
exec(\'select Id\'+@s+\' from 表A group by Id\')

分类:

技术点:

相关文章: