我需要在12个月的滚动时间内扣除销售总额,但我的DBA没有给我制作临时表的权利,所以我不能使用像我在网上看到的几个帖子中看到的那样。此外,我发现的大部分内容都是指使用SQL 2012.我必须访问的一些服务器是SQL 2000,有些是SQL 2012,我需要这两项工作。这是一些示例代码:
Select Rep
,Rep_ID
,Cast(Case when Sales_Date between '2/1/2014' and '1/31/2015' then Sum(Sales) else 0 end as decimal(18,2)) as "Sales Amount"
From dbo.Sales
答案 0 :(得分:1)
所以,您是否在过去12个月内试图获得每位代表的销售额?
SELECT Rep
,Rep_ID
,"Sales Amount" = Sum(Sales)
FROM dbo.Sales
WHERE Sales_Date
BETWEEN DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) -12, 0)
AND DATEADD(SECOND, -1, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))
GROUP BY Rep, Rep_ID
编辑:略有错误修正,日期之间现在是2014-02-01 00:00:00.000 AND 2015-01-31 23:59:59.000