【发布时间】:2015-12-31 19:28:35
【问题描述】:
所以我在这里有这个查询 -> http://sqlfiddle.com/#!6/90a35/1 我在日历类型视图中显示一些数据。如果我想添加另一列(总计),它将水平汇总。即对于项目 x,我想显示所有月份的总和。我怎样才能做到这一点?
谢谢。
【问题讨论】:
-
在您的最后一个查询周围添加一个 CTE,对您的列求和
标签: sql-server sum pivot
所以我在这里有这个查询 -> http://sqlfiddle.com/#!6/90a35/1 我在日历类型视图中显示一些数据。如果我想添加另一列(总计),它将水平汇总。即对于项目 x,我想显示所有月份的总和。我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: sql-server sum pivot
试试这样的;您可以在另一个变量中动态构建总和列,就像您为 @cols 所做的那样
SET @sql = N';WITH temp as (SELECT *
FROM (SELECT ID, CONVERT(char(3), STA_IBF_WeekStartDate, 0) + ''-'' +
RIGHT(CONVERT(varchar, YEAR(STA_IBF_WeekStartDate)), 2) AS date, Forecast
FROM Table1) AS D
PIVOT(SUM(Forecast) FOR date IN(' + @cols + N')) AS P) SELECT *, [Sep-16] + [May-16] FROM temp;'
EXEC sp_executesql @sql
我在另一个sqlfiddle中添加了解决方案
【讨论】: