我有一个运行良好的 SQL
Pivot
查询。但是,我需要在输出中添加 TOTAL 列(这将是所有月份的总和)。
我的查询(摘录)如下:
...
SELECT [Year],[Property], ISNULL([Jan],0) as [Jan], ISNULL([Feb],0) as [Feb], ISNULL([Mar],0) as [Mar], ISNULL([Apr],0) as [Apr], ISNULL([May],0) as [May], ISNULL([Jun],0) as [Jun],
ISNULL([Jul],0) as [Jul], ISNULL([Aug],0) as [Aug], ISNULL([Sep],0) as [Sep], ISNULL([Oct],0) as [Oct], ISNULL([Nov],0) as [Nov], ISNULL([Dec],0) as [Dec]
FROM (
SELECT [MthName], [Year], [RN], [Property] from CTE1
UNION ALL
SELECT [MthName], [Year], [RN], [Property] from CTE2
)x
PIVOT(SUM(x.[RN])
FOR x.[MthName] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])) AS PVTTable
ORDER BY [Property], [Year] DESC
该查询的输出摘录如下所示:
Year Property Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018 XYZ 3261 2955 3045 2118 1917 869 1772 1598 834 1254 537 415
2017 XYZ ...
我需要在此输出的末尾添加一个“总计”列。我怎样才能做到这一点?
最佳答案
将此部分添加到您的选择查询的最后:
(ISNULL([Jan],0)+ ISNULL([Feb],0) + ISNULL([Mar],0)+ ISNULL([Apr],0)+ ISNULL([May],0)+ ISNULL([Jun],0) + ISNULL([Jul],0)+ ISNULL([Aug],0)+ ISNULL([Sep],0)+ ISNULL([Oct],0) + ISNULL([Nov],0)+ ISNULL([Dec],0)) as [Total]
关于sql - 如何在此 SQL Pivot 查询中插入 TOTAL 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48900230/