Select
费用名称,
SUM(Case 费用月份 When 1 Then 费用 Else 0 End) As [1月份],
SUM(Case 费用月份 When 2 Then 费用 Else 0 End) As [2月份],
SUM(Case 费用月份 When 3 Then 费用 Else 0 End) As [3月份],
SUM(Case 费用月份 When 4 Then 费用 Else 0 End) As [4月份],
SUM(Case 费用月份 When 5 Then 费用 Else 0 End) As [5月份],
SUM(Case 费用月份 When 6 Then 费用 Else 0 End) As [6月份],
SUM(Case 费用月份 When 7 Then 费用 Else 0 End) As [7月份],
SUM(Case 费用月份 When 8 Then 费用 Else 0 End) As [8月份],
SUM(Case 费用月份 When 9 Then 费用 Else 0 End) As [9月份],
SUM(Case 费用月份 When 10 Then 费用 Else 0 End) As [10月份],
SUM(Case 费用月份 When 11 Then 费用 Else 0 End) As [11月份],
SUM(Case 费用月份 When 12 Then 费用 Else 0 End) As [12月份]
From 表
Group By 费用名称
--或者動態語句
Declare @S Varchar(1000)
Set @S=''
Select @S=@S+ ',['+费用月份+'月份]= SUM(Case 费用月份 When '''+费用月份+''' Then 费用 Else 0 End) ' From 表 Order By 费用月份
Set @S='Select 费用名称'+@S+' From 表 Group By 费用名称 Order By 费用名称'
EXEC (@S)