所以我在这里有这个问题 - > http://sqlfiddle.com/#!6/90a35/1我在日历类型视图中显示一些数据。如果我想添加另一列(总计),它将水平相加。即对于项目x,我想显示所有月份的总和。我怎样才能做到这一点?
感谢。
答案 0 :(得分: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
中添加了解决方案