这看起来应该是非常简单的问题,但我一直在寻找过去两天的答案,并且找不到它。请帮忙!NOT查询中的SQL不需要的结果
我有沿
texts.text_id, texts.other_stuff...
pairs.pair_id, pairs.textA, pairs.textB
行第二表定义从第一表对条目的两个表。
我需要的是一个普通的左反向连接查询,如:
SELECT texts.text_id
FROM texts
LEFT JOIN text_pairs
ON texts.text_id = text_pairs.textA
WHERE text_pairs.textB = 123
ORDER BY texts.text_id
如何获得专门是不配对与给定TEXTB的文本?我试过
WHERE text_pairs.textB != 123 OR WHERE text_pairs.textB IS NULL
然而,这将返回所有的对,其中TEXTB不是123.所以,在情状
textA TextB
1 3
1 4
2 4
如果我问TEXTB!= 3,查询返回1和2.我需要的东西只会给我1.
随着LEFT JOIN需要ON子句,而不是在过滤WHERE子句...如果使用WHERE子句,则将LEFT JOIN转换为INNER JOIN –
下一次,请参阅:[为什么我应该为我认为是非常简单的SQL查询提供一个MCVE?]( https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query) – Strawberry
谢谢!回覆。 MCVE,也谢谢你,并指出。 – user4212