我試圖選擇過去2個月中根本沒有銷售的所有項目。連接表中兩個日期之間不存在記錄
我嘗試使用此查詢,但預計它不工作:
SELECT SalesDescription FROM Items I
LEFT JOIN Orders_Items OI
ON OI.ItemID=I.ItemID
LEFT JOIN Orders O
ON O.OrderID=OI.OrderID
WHERE OrderTime NOT BETWEEN date_sub(curdate(), interval 2 month)
AND date_sub(curdate(), interval 1 day)
Group By I.ItemID
基本上,我希望能得到大家從項目表(按項目ID分組)的記錄,如果和只有在過去兩個月內沒有訂購。
當我做我的加入以上,所得到的表是這樣的:
Name OrderID OrderDate
Widget A 1 Last Year
Widget B 2 Last Week
Widget C 3 Last Year
Widget C 4 Last Week
我的結果應該只返回窗口小部件,因爲它沒有在過去2個月訂購。一年前訂購的這一事實並不相關。
Widget C不應該出現,因爲包含Widget C的訂單在過去2個月內被放置。
問題是,我想要的記錄沒有與它們關聯的日期範圍。另一種說法是:
我想從Items表中的所有項目開始,然後排除附有訂單的項目,並且至少有一個附加訂單放在2個月範圍內。
我該怎麼做?
寫着完全一樣的東西。 – dispake
+1第一個返回了一個空的結果集,但第二個做了我想要的。謝謝! – Nick
這實際上令人苦惱,我期望他們都有同樣的結果。 –