此查询适用于本周应该是周日 - 周六。 我通常会在第二天提取数据,所以当我运行此报告时,总是会在第二天。
SELECT MAX(te.StoreID) AS StoreID,
SUM(te.Price * te.Quantity) AS Sales,
SUM(te.Cost * te.Quantity) AS Cost,
COUNT(DISTINCT t.TransactionNumber) AS Trxn,
SUM(te.Quantity) AS Quantity
FROM TransactionEntry te
INNER JOIN [Transaction] t
ON te.TransactionNumber = t.TransactionNumber
AND te.StoreID = t.StoreID
LEFT JOIN item i
ON te.itemID = i.ID
LEFT JOIN Department d
ON i.DepartmentID = d.ID
WHERE d.ID <> 8
AND CONVERT(date, t.Time) >= dateadd(day, 1-datepart(dw, getdate()), convert(date, getdate()))
AND CONVERT(date, t.Time) <= dateadd(day, 8-datepart(dw, getdate()), convert(date, getdate()))
--DATEDIFF(week, t.Time, GETDATE()) = 2
GROUP BY te.StoreID
这是去年同一周(4-5-4日历日期) 这个数据应该是(如果我今天提取数据)拉动2016年6月19日的数据。 如果我明天提取数据,我应该有6/19/2016 - 2016年6月20日的数据。
SELECT MAX(te.StoreID) AS StoreID,
SUM(te.Price * te.Quantity) AS Sales,
SUM(te.Cost * te.Quantity) AS Cost,
COUNT(DISTINCT t.TransactionNumber) AS Trxn,
SUM(te.Quantity) AS Quantity
FROM TransactionEntry te
INNER JOIN [Transaction] t
ON te.TransactionNumber = t.TransactionNumber
AND te.StoreID = t.StoreID
LEFT JOIN item i
ON te.itemID = i.ID
LEFT JOIN Department d
ON i.DepartmentID = d.ID
WHERE d.ID <> 8
AND CONVERT(date, t.Time) >= dateadd(day, 2-datepart(dw, DateAdd(year,-1,getdate())), convert(date, DateAdd(year,-1,getdate())))
AND CONVERT(date, t.Time) <= dateadd(day, 9-datepart(dw, DateAdd(year,-1,getdate())), convert(date, DateAdd(year,-1,getdate())))
GROUP BY te.StoreID
任何人都可以帮助我,为什么我的数据不正确????
先谢谢你了!