【问题标题】:Get employees who worked in more than one department with SQL query使用 SQL 查询获取在多个部门工作的员工
【发布时间】:2013-03-22 06:55:27
【问题描述】:

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

这里是表名和字段:

  • Employee(员工姓名、工资、联系方式)
  • Department (employeeName, departmentNo, hours, startDate)

【问题讨论】:

    标签: sql oracle count jointable


    【解决方案1】:

    您的 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
    

    【讨论】:

    • @GoldFish 欢迎来到 SO :)
    • 必须 >= 2 否则至少需要 3,编辑:标题不匹配
    • @ImreL 是否 >= 2? OP说“超过2” - 所以它是> 2
    • 是的,它应该超过 2,所以 >2 工作得很好..但是当我尝试使用employeeName 显示其他字段时,它向我显示了一些错误
    • 我现在也发现了这个问题..一切正常..谢谢大家的帮助
    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 2014-02-05
      相关资源
      最近更新 更多