【发布时间】:2014-01-17 18:09:50
【问题描述】:
我无法弄清楚如何为我的收入查询构建PIVOT。
首先,这是我的查询:
SELECT DATENAME(month,
CONVERT(DATETIME, CONVERT(VARCHAR, TransactionMonth) + '/1'
+ '/2013')) AS MONTH ,
RevenueGroup ,
AMOUNT
FROM ( SELECT f.TransactionMonth ,
f.RevenueGroupID ,
'$'
+ CONVERT(VARCHAR, CAST(SUM(f.LineItemAmount) AS MONEY), -1) AS Revenue ,
MIN(f.RevenueGroup) AS RevenueGroup
FROM Financials(@StartDate, @EndDate, @SiteID) f
GROUP BY f.TransactionMonth ,
f.RevenueGroupID
) AS Rev
ORDER BY Rev.TransactionMonth DESC ,
CAST(Revenue AS MONEY) DESC
这是我的结果集:
MONTH RevenueGroup AMOUNT
December Dues - Collect $425,725.71
December NMS $78,444.17
December Personal Training $58,511.53
November Dues - Collect $425,683.75
November NMS $114,710.25
November Personal Training $66,277.49
October Dues - Collect $419,250.09
October NMS $96,098.86
October Personal Training $58,725.77
以下是结果集需要如何处理 sql PIVOT:
RevenueGroup DECEMBER NOVEMBER OCTOBER
Dues - Collect $425,725.71 $425,683.75 $419,250.09
NMS $78,444.17 $114,710.25 $96,098.86
Personal Training $58,511.53 $66,277.49 $58,725.77
如何使用 T-SQL PIVOT 实现这一点?
【问题讨论】:
标签: sql-server tsql pivot