這看起來應該是非常簡單的問題,但我一直在尋找過去兩天的答案,並且找不到它。請幫忙!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