SELECT EmployeeID
FROM Employee
WHERE EmployeeID NOT IN
(SELECT DISTINCT isnull(ManagerID,'')
FROM Employee
)

解决方案 »

  1.   

    SELECT EmployeeID
    FROM Employee a
    WHERE not exists (SELECT 1 FROM Employee
    where ManagerID=a.EmployeeID
    )
      

  2.   

    SELECT *
    FROM Employee
    WHERE EmployeeID  IN
    (SELECT ManagerID
     FROM Employee
     group by ManagerID
     having count(*) =0
    )
      

  3.   

    SELECT EmployeeID
    FROM Employee a left join 
    (select SELECT DISTINCT ManagerID
    FROM Employee where ManagerID is not null) b on a.EmployeeID=b.ManagerID 
    WHERE b.ManagerID is null
      

  4.   

    playyuer(小干部儿) 的不对
    having count(*) = 0 是不可能有结果的
      

  5.   

    SELECT EmployeeID
    FROM Employee a left join 
    (select SELECT DISTINCT ManagerID
    FROM Employee where ManagerID) b on a.EmployeeID=b.ManagerID 
    WHERE b.ManagerID is null
      

  6.   

    SELECT *
    FROM Employee
    WHERE EmployeeID not IN
    (SELECT ManagerID
     FROM Employee
    where ManagerID is not null
      group by ManagerID
    )
      

  7.   

    为什么要用group by呢?distinct不更好吗?