的MySQL 5.5MySQL如何找到確切的兒童組父母?
parent table: id | facts
child table: parent_id | foreign_key | facts
現在,我想找到具有一定的確切集合的孩子,沒有更多,不會少的父母。像這樣:
SELECT t1.`id`
from `parent_table` t1
LEFT JOIN `child_table` t2 ON t1.id=t2.parent_id
WHERE t2.`fk` = 1
AND t2.`fk` = 3
AND t2.`fk` = 5
AND t2.`fk` = 7
AND t2.`fk` = 9
但是,這也將得到一個父記錄與這組兒童:1,2,3,5,7,9。我只想要那些有確切集合的父母:1,3,5,7,9。
有沒有辦法?
編輯: child.parent_id和child.fk是都不是唯一的。 child.fk是連接到另一個表的外鍵。 (「多對多關係」)因此,父母有可能生孩子1,2,3,5,7,9。我做這個查詢的全部原因是爲了避免爲1,3,5,7,9創建一個新的父項,如果這樣的父項已經存在的話。
我認爲依靠自己的計數是不可靠的。 eggyal的解決方案看起來更強大,因爲它也檢查NOT值。 –
您爲什麼認爲'COUNT(*)'不可靠?我需要檢查「NOT」值嗎?嘗試運行腳本並查看結果而不檢查「NOT」值。 –
它似乎沒有工作。在這裏檢查我更新的小提琴,以使用您的查詢與更新的模式:http://www.sqlfiddle.com/#!2/d8e2a/5 –