![](/img/trans.png)
[英]MySQL Query with Date_Sub returns empty set on query, but count = 1 when join is included
[英]NOT IN nested sub query returns empty set and thus no results for join
我正在編寫一個春季批處理程序,正在尋找即將到期的項目。 工作正常,但我注意到我的一個測試中出了問題。 這是一個新的批處理程序,它依賴於另一個新表來跟蹤它報告的過期項目。 例如:
這是我的sql語句
select * from item join vendor_notification
where item.item_id NOT IN(SELECT vendor_notification.item_id
FROM vendor_notification);
只要vendor_notification表中有數據,哪個工作正常。 但是,一旦我重置並清除測試數據,就不會返回任何結果。 如果我在vendor_notification表中添加一行,並在項目中添加新行,那么我會獲得該新行。
有沒有更好的方法來執行上面的查詢,以便我處理嵌套查詢的空返回集?
如果內部查詢返回null,則NOT IN子句將計算為false。
select * from item
where (SELECT count(vendor_notification.item_id)
FROM vendor_notification WHERE vendor_notification.item_id = item.item_id) = 0;
內部查詢現在返回匹配記錄的計數,如果沒有則將返回零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.