Существует довольно хорошая статья о том, как фильтровать результаты в отношении «имеет много»: Как фильтровать результаты SQL в отношении has-many-through
Я просто ищу решение для результата COUNT, а не показываю их все.
student {
id
name
}
club {
id
name
}
student_club {
student_id
club_id
}
Сколько учащихся в CLUB1 и& CLUB2?
EDIT: Было бы здорово использовать метод "Martin 2" по ссылке ниже:
SELECT s.stud_id, s.name
FROM student s
JOIN student_club sc USING (stud_id)
WHERE sc.club_id IN (30, 50)
GROUP BY 1,2
HAVING COUNT(*) > 1;
Просто добавить что-то к результатам COUNT.