先有表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')
浙公网安备 33010602011771号