Encontre chave estrangeira que corresponde a vários valores de linha

Eu tenho um design de tabela como esse

person_id   |   department
1           |   a
1           |   b
2           |   a
2           |   c
3           |   b
3           |   a

e gostaria que uma consulta retornasse todos os person_id's que pertencem ao departamento a e b. Imaginei que seria algo como

select person_id from table group by person_id having ....

mas não consigo entender direito. Alguém sabe como eu posso fazer isso?

Edit: eu descobri que posso fazer o seguinte. Mas parece um hack.

select person_id from table where department='A' or department='B' 
     group by person_id having count(1) > 1

questionAnswers(2)

yourAnswerToTheQuestion