SQL Query同时属于多个部门的人

时间:2016-07-13 11:54:08

标签: php mysql sql

假设我有下表:

     id | person_id | department_id
    ------------------------------
      1 | 1         | 2
      2 | 1         | 3
      3 | 1         | 4
      4 | 3         | 2
      5 | 3         | 5
      6 | 5         | 4
      7 | 6         | 4
      8 | 9         | 4

我想在同一时间查询属于多个部门的人员。 例如:属于(2,5)部门的人是第3人,他是唯一的人。

我经常搜索并尝试自己做,但我找不到办法。

P.S。我已经使用'for'循环完成了它,但我正在寻找快速和原生的SQL解决方案。

1 个答案:

答案 0 :(得分:3)

您可以使用group byhaving

执行此操作
select t.person_id
from followingtable t
where t.department_id in (2, 5)
group by t.person_id
having count(*) = 2;