使用SQL查询获取在多个部门工作的员工

使用SQL查询获取在多个部门工作的员工,sql,oracle,count,jointable,Sql,Oracle,Count,Jointable,我正试图找出一个查询,其中显示了在两个以上部门工作的员工的姓名以及他们的工资和联系方式。我有两张员工和部门的桌子。它们都具有EmployeeName字段。我知道我们必须使用Count函数,但不知道如何创建查询 此处显示了表名和字段: 员工(员工姓名、工资、联系人编号) 部门(员工姓名、部门编号、工作时间、起始日期) 您的SQL查询如下 SELECT e.employeeName, count(departmentNo) FROM Employee e INNER JOIN Depar

我正试图找出一个查询,其中显示了在两个以上部门工作的员工的姓名以及他们的工资和联系方式。我有两张员工和部门的桌子。它们都具有EmployeeName字段。我知道我们必须使用Count函数,但不知道如何创建查询

此处显示了表名和字段:

  • 员工
    (员工姓名、工资、联系人编号)
  • 部门
    (员工姓名、部门编号、工作时间、起始日期)

您的SQL查询如下

  SELECT e.employeeName, count(departmentNo) FROM Employee e 
  INNER JOIN Department d ON e.employeeName=d.employeeName 
  GROUP BY e.employeeName 
  HAVING COUNT(departmentNo)>2

您可以使用以下SQL查询

  SELECT e.employeeName, count(departmentNo) FROM Employee e 
  INNER JOIN Department d ON e.employeeName=d.employeeName 
  GROUP BY e.employeeName 
  HAVING COUNT(departmentNo)>2

您可以使用以下查询:

SELECT e.employeeName, count(d.departmentname) 
FROM Employee e, Department d  
where e.deptid=d.deptid 
GROUP BY e.employeeName 
HAVING COUNT(e.deptid)>=2

您可以使用以下查询:

SELECT e.employeeName, count(d.departmentname) 
FROM Employee e, Department d  
where e.deptid=d.deptid 
GROUP BY e.employeeName 
HAVING COUNT(e.deptid)>=2

@金鱼欢迎使用SO:)必须大于等于2或至少需要3,编辑:标题mismatch@ImreL它>=2吗?OP说“超过2”-所以它是>2是的,它应该超过2,所以>2工作得很好..但是当我尝试与员工一起显示其他字段时,它显示出一些错误。我现在也解决了这个问题..一切工作都很好..谢谢大家的支持help@GoldFish欢迎使用SO:)必须大于等于2或至少需要3,编辑:标题mismatch@ImreL它>=2吗?OP上说“超过2”-所以它是>2是的,它应该超过2,所以>2工作得很好。但是当我试着向员工展示其他领域时,它显示出一些错误。我现在也解决了这个问题。一切都很好。谢谢你们的帮助