我试图找出为什么一个简单的查询返回 null:
SELECT CardNo FROM BOOK_LOANS WHERE DueDate=DateReturned AND
NOT EXISTS
(SELECT CardNo FROM BOOK_LOANS WHERE DueDate<>DateReturned)
我一直在学习 WHERE NOT EXISTS
但似乎找不到任何同时使用 WHERE
和 NOT EXISTS
的示例。有更好的方法吗?
当我使用 NOT IN
但我必须在此查询中使用 NOT EXISTS
时,我的查询有效
最佳答案
尝试以下查询:
SELECT CardNo FROM BOOK_LOANS A WHERE A.DueDate=A.DateReturned AND
NOT EXISTS
(SELECT CardNo FROM BOOK_LOANS B WHERE B.CardNo = A.CardNo B.DueDate<>B.DateReturned)
基本上,您需要将外部查询与内部查询结合到 CardNo
上,否则 NOT EXISTS
将返回日期不匹配的任何记录。
关于MySQL - 使用不存在的地方返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40753181/