如何从表中获得所需的输出

时间:2016-12-24 08:29:47

标签: sql sql-server

我不擅长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

我应该写什么查询才能获得此输出?

2 个答案:

答案 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