更新时间:2022-11-13 16:54:27
这可以做到:
SELECT EmpId, Name
FROM
(
SELECT em.ID as EmpId, em.Name, es.ID as SkillID
FROM Employee em
INNER JOIN Emp_Skills es ON es.Emp_ID = em.ID
WHERE es.Skill_ID IN ('1', '2')
) X
GROUP BY EmpID, Name
HAVING COUNT(DISTINCT SkillID) = 2;
不同之处在于,如果同一位员工具有两次列出的技能.
The distinct is just in case the same employee has the skill listed twice.
感谢测试数据.