我有一个包含字段的表
id job_id skill_id
1 1 1
2 1 2
3 1 3
4 2 1
5 3 1
6 3 2
7 3 3
并且有一组值(skill_ids)(1,2,3)
。
让所有job_ids拥有所有这些skill_id的最佳方法是什么(即我希望得到1和3作为我的结果集)。
提前致谢!
答案 0 :(得分:1)
使用group by
和having
。您要构建的SQL可能如下所示:
select job_id
from table t
where skill_id in (1, 2, 3)
group by job_id
having count(*) = 3;
答案 1 :(得分:0)
您可以使用所有
像这样的东西: SELECT job_id FROM table WHERE skill_id = ALL(1,2,3)http://community.sitepoint.com/t/mysql-any-and-all-subquery-keywords/5533