【问题标题】:SQL: find the non-manager employee IDs who joined all the projectsSQL:查找加入所有项目的非经理员工ID
【发布时间】:2016-05-18 21:44:00
【问题描述】:

以下是给定表的架构:

ProjectManager(ProjId, MgrId, StartDate, EndDate)
EmpProject(EmpId, ProjId, StartDate, EndDate)

其中“MgrId”与“EmpId”相同,只是命名不同。 问题是查找加入所有项目的非经理员工 ID。

我的想法是: 1. 在表 EmpProject 中,使用“group by ProjId”查找所有组中存在的 EmpId。 2.然后只选择那些不在ProjectManager.MgrId中的empid

另一个想法类似于 SQL Query to get common records

我尝试了几种方法,但都没有取得进展。 任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: mysql sql sqlplus


    【解决方案1】:

    试试这个快速查询。基本上,这会通过检查 ProjectManager 表中是否不存在员工 ID 来过滤掉所有非经理

    SELECT * 
    FROM EmpProject
    WHERE EmpId NOT IN (SELECT MgrId FROM ProjectManager)
    

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2021-03-16
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多