1
我已經看到了這個的各種示例,但是我找不到一個明確的示例,說明如何從table_A
返回與table_B
中的某一行無關的所有行,而不使用關聯table_A_B
給定值爲table_A.id
或table_B.id
。我能找到這個最接近配襯是:在關聯/查找表上選擇不相關的ID
獲取不相關的一行或多行中
B
但不知道其中B中值是問題的A
列表。獲取與給定
B
無關的A
的列表。使用以逗號分隔的無關字段
B
獲得列表A
(不確定我看到了這一點,但它看起來像一個示例可能會展開)。A
s和B
的列表彼此不相關,但沒有表明哪一個與另一個不相關。
我還可以得到所有可能的A_B
元組的列表:
SELECT A.id, B.id FROM A
INNER JOIN B ON A.id <> B.id
而且我可以假設使用EXCEPT
解決方法(我認爲)對關聯表的一個,但所有嘗試均不成功,我想象一旦有那數百萬的潛在組合被這個連接返回,反正它的效率會低得多。
所以給出的表值:
A
id | name
1 | X
2 | y
3 | z
B
id | name
7 | e
8 | f
9 | g
A_B
id | a_id | b_id
1 | 1 | 7
2 | 1 | 8
3 | 1 | 9
1 | 2 | 7
2 | 2 | 8
1 | 3 | 7
是否有將返回的查詢: A | B 2 | 9 3 | 8 3 | 9
甚至更好:
A | B
y | g
z | f
z | g
或者這自找麻煩?
我試着用'INNER JOIN A.id <> B.id'獲得潛能的完整列表,但它動輒失敗。很高興我從邏輯上理解了正確的想法,並且知道如何把它帶回家。謝謝! – Anthony