我试图从链接到Excel的数据库运行SQL查询,该数据库将为我提供特定客户的所有销售。我想采取当前的日期,2015年5月27日,看看去年底,即去年4月31日的销售情况。所以将来如果日期是2015年12月6日,我想看到5/31/15。
这是我现在拥有的。
SELECT CustomerName,
SUM(NetSales) AS YTD_Sales
FROM dbo.AllSales
WHERE (CustomerClass = 'DLR')
AND (CustomerName IN ('Company 1', 'Company2'))
AND (InvoiceDate BETWEEN '1/1/2015'
AND DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()), 0)))
AND (CustomerClass = 'DLR')
GROUP BY CustomerName
此代码为我提供了截至上个月月底的所有销售额。我觉得我很接近。
答案 0 :(得分:0)
这个问题很简陋,但如果您现在想要的数据来自2014年1月1日至2014年4月31日,那么您就是这样做的:
SELECT
CustomerName,
SUM(NetSales) AS YTD_Sales
FROM
dbo.AllSales
WHERE
CustomerClass = 'DLR' and
CustomerName IN ('Company 1', 'Company2') and
InvoiceDate >= DATEADD(year, datediff(year, 0, GETDATE())-1, 0) and
InvoiceDate < DATEADD(month, datediff(month, 0, GETDATE())-12, 0)
GROUP BY
CustomerName
如果是其他内容,您可以调整dateadd中的-12和-1以获得正确的月份。