【问题标题】:Adding (SUM) a row in mssql with pivot使用数据透视在sql中添加(SUM)一行
【发布时间】:2015-12-31 19:28:35
【问题描述】:

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

谢谢。

【问题讨论】:

  • 在您的最后一个查询周围添加一个 CTE,对您的列求和

标签: sql-server sum pivot


【解决方案1】:

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

【讨论】:

  • 这正是我想要的方式。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
相关资源
最近更新 更多