Найти внешний ключ, соответствующий нескольким значениям строки
У меня дизайн стола вот так
person_id | department
1 | a
1 | b
2 | a
2 | c
3 | b
3 | a
и хотел бы, чтобы запрос возвращал все person_id, принадлежащие как отделам a, так и b. Я подумал, что это будет что-то вроде
select person_id from table group by person_id having ....
но не могу понять это. Кто-нибудь знает, как я могу это сделать?
Изменить: я понял, что я могу сделать следующее. Но это похоже на взлом.
select person_id from table where department='A' or department='B'
group by person_id having count(1) > 1