我有一个“人”表:选择记录匹配的两个或多个相关表
person_id name
100 jack
125 jill
201 jane
和许多子表,该为person_id可能是:
“划船”
id person_id
1 100
2 201
'游泳'
id person_id
1 125
2 201
“运行”
id person_id
1 201
“扔”
id person_id
1 125
2 201
我希望能够选择谁参与两项活动所有的人,不管其中两个。
我很肯定你应该只使用一个有'ActivityId'的关系表来代替。然后你可以使用:'SELECT p.person_id FROM Persons p INNER JOIN PersonActivities pa ON p.person_id = pa.person_id GROUP BY p.person_id HAVING(COUNT(DISTINCT pa.ActivityId)> = 2)' –
@TimSchmelter:last在我的防守中,线路确实会说“谁参与了两项活动,无论哪两项......” – gbn