在具有透视的mssql中添加(SUM)一行



所以我在这里有这个查询->http://sqlfiddle.com/#!6/90a35/1,其中我在日历类型视图中显示一些数据。如果我想添加另一列(合计),它将水平相加。即,对于项目x,我想显示所有月份的总和。我怎样才能做到这一点?

谢谢。

试试这样的东西;您可以在另一个变量中动态构建sum列,就像您在@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 中添加了解决方案

最新更新