【发布时间】:2021-11-20 15:18:37
【问题描述】:
我需要在我运行查询(将连接到 Excel 并每天运行)的任何一天找到过去 5 周和接下来 5 周的库存值。
我可以单独找到它们,但是当它们一起完成时,我不会得到任何回报。
以下单独工作,有没有办法合并得到所有的回报?
Select * FROM Table
WHERE vdvInventory.Count >= CAST(DATEADD(WEEK, -5, GETDATE()) as DATE)
或者
Select * FROM Table
WHERE DATEDIFF(WEEK,vdvInventory.Count,GETDATE() )<5
如果我尝试使用 ADD 将两个 where 语句添加到一个中,我不会得到任何回报。 例如:
Select * FROM Table
WHERE DATEDIFF(WEEK,vdvInventory.Count,GETDATE() )<5
AND DATEDIFF(WEEK,vdvInventory.Count,GETDATE() )>5
感谢您对此的任何帮助或指导!
【问题讨论】:
-
第一种方法可能是
UNION您提到的前两个查询。但最好的方法是使用窗口函数(PARTITION BY语句)。