【发布时间】:2014-07-03 09:33:27
【问题描述】:
以下查询正在生成数据,但仅返回值的周是第 10、11、12 周,就像过去四个月一样。我需要能够获得过去 12 周的周数,即在枢轴部分使用的第 10、11、12、13、14、15、16、17、18、19、20、21、22 周,但是一个公式像 dateadd(week,-1,invoicedate) 不起作用
我使用的是 sql server 2008 r2
谢谢
SELECT productid,
[1] AS 'This Week',
[2] AS 'Last Week',
[3] AS 'Week -3',
[4] AS 'Week -4',
[5] AS 'Week -5',
[6] AS 'Week -6',
[7] AS 'Week -7',
[8] AS 'Week -8',
[9] AS 'Week -9',
[10] AS 'Week -10',
[11] AS 'Week -11',
[12] AS 'Week -12'
FROM (SELECT productid,
qtyinvoiced,
Datepart(week, invoicedate) AS Tweek
FROM dbo.invoicedetail
WHERE invoicedate > Dateadd(m, -4, CURRENT_TIMESTAMP)) source
PIVOT ( Sum(qtyinvoiced)
FOR tweek IN ( [1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9],
[10],
[11],
[12] ) ) AS pvtmonth
【问题讨论】:
标签: sql sql-server