我有2個表具有多對多關係;一個人可以屬於許多團體。一個集團可以有很多個人。用於位域的SQL邏輯AND運算符
個體基本上只是有他們的主鍵ID
組有一個主鍵ID,IndividualID(相同於各個表的ID),以及用於如果該組是爲個體的主組的位標記
理論上,組表中任何給定個體的所有條目都應該將該位標誌設置爲false,因爲每個個體必須只有一個主組。
我知道,對於我當前的數據集,這種假設並不適用,並且我有一些個人將其所有組的主標誌設置爲false。
我在生成將返回這些個人給我的查詢時遇到問題。
我已經得到最接近的是:
SELECT * FROM個體i LEFT JOIN組G ON g.IndividualID = i.ID WHERE g.IsPrimaryGroup = 0
但比進一步去與SUM或MAX不起作用,因爲該字段是位字段,而不是數字。
有什麼建議嗎?
只是一個參考,如果您的數據庫支持EXISTS子句,它通常更快,因爲它更好地使用索引。看到我的帖子下面。 – Dylan 2009-01-28 21:27:01