我有 2 个具有多对多关系的表;一个个体可以属于许多组。一个组可以有许多个人。
个人基本上只有他们的主键 ID
组有一个主键 ID、IndividualID(与个人表中的 ID 相同)和一个位标志,用于表明该组是否是个人的主要组
理论上,组表中任何给定个体的所有条目(除一个条目外)都应将该位标志设置为 false,因为每个个体必须恰好有 1 个主组。
我知道对于我当前的数据集,这个假设不成立,并且我有一些个人将所有组的主要标志设置为 false。
我无法生成将这些人返回给我的查询。
我得到的最接近的是:
SELECT * FROM Individual i LEFT JOIN Group g ON g.IndividualID = i.ID WHERE g.IsPrimaryGroup = 0
但是比 SUM 或 MAX 更进一步是行不通的,因为该字段是位字段,而不是数字。
有什么建议么?