2016-12-24 62 views
0

我不擅長SQL,所以我被這個查詢困住了。我想輸出:如何從我的表中獲得所需的輸出

employee id, employee name, manager name 

(凱爾的經理是2個,即瓊斯,瓊斯的經理是3,即大衛等)

Emp ID  Emp Name  ManagerID 
    1   Kyle   2 
    2   Jones   3 
    3   David   4 
    4   Henry   5 
    5   John   1 

我應該寫什麼查詢以獲得此輸出?

回答

4

你需要用不同的別名

select e.empId, e.EmpName, m.EmpName as manager 
from employees e 
left join employees m on e.ManagerID = m.EmpID 

再次加入同一個表如果使用left join那麼你得到的所有員工,即使他們沒有一個經理。
如果您使用inner join,您將只獲得擁有經理的員工。

0

您需要加入員工表與員工意味着自我加入。
如果您想讓員工和他們的經理一起工作,那麼您可以使用下面的查詢。

select e.empId, e.EmpName, m.EmpName as manager_name 
from employees e 
inner join employees m on e.ManagerID = m.EmpID