小编典典

MS Access-WHERE IN有效,但WHERE NOT IN失败

sql

我在MS Access上有以下查询(简体):

SELECT * FROM table1 WHERE table1.ID NOT IN (SELECT DISTINCT table1id FROM table2);

我的问题是它不起作用,但是这两个起作用:

SELECT * FROM table1 WHERE table1.ID IN (SELECT DISTINCT table1id FROM table2);
SELECT * FROM table1 WHERE table1.ID NOT IN (2, 3);

第一个简单地向我返回一个空集,而我知道我的table1ID范围为1到9的记录,并且表2上仅使用了2和3。

有什么帮助吗?


阅读 375

收藏
2021-04-07

共1个答案

小编典典

通常,IN和NOT in的问题与子选择中的NULL有关。试试看,看看是否可行:

SELECT *
FROM table1
WHERE table1.ID NOT IN (SELECT DISTINCT table1id FROM table2 where tableid is not null);
2021-04-07