我不擅长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
我应该写什么查询才能获得此输出?
答案 0 :(得分: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
,您将只获得有经理的员工。
答案 1 :(得分:0)
您需要加入员工表,员工意味着自我加入。
如果您希望员工与他们的经理在一起,那么您可以使用以下查询。
select e.empId, e.EmpName, m.EmpName as manager_name
from employees e
inner join employees m on e.ManagerID = m.EmpID