gpt4 book ai didi

mysql - 使用 "in"获取记录组合的 SQL 语句中的问题

转载 作者:行者123 更新时间:2023-11-29 00:45:05 26 4
gpt4 key购买 nike

我有一个包含 2 列的表,比如 Empname、DepartmentName,其中一名员工可能在多个部门工作,反之亦然。我想编写一个查询以根据某些部门组合选择 EmpName。对于前。仅在Dept1、Dept2和Dept3下工作的员工(本例中应仅选择仅在3个部门下工作的员工)

这是我尝试过的查询。

Select EmpName, Count(*) as Total from Emp_Departments where DepartmentName in ('Dept1', 'Dept2', 'Dept3') group by EmpName having Total=3

这里的问题是,任何在上述任何部门工作且总人数为 3 的员工,它也会返回他们的行。请建议我如何才能获得独特的组合。

最佳答案

你很接近 - 使用:

  SELECT d.EmpName, COUNT(*) as Total 
FROM Emp_Departments d
WHERE d.DepartmentName IN ('Dept1', 'Dept2', 'Dept3')
GROUP BY d.EmpName
HAVING COUNT(DISTINCT d.DepartmentName) = 3

关于mysql - 使用 "in"获取记录组合的 SQL 语句中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10843988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com