查询以下方案

时间:2013-02-23 11:53:32

标签: sql sql-server tsql join self-join

我有一个包含EMPLOYEEIDEMPLOYEENAMEMANAGERID列的表格。

MANGERID来自EMPLOYEEID列。有些EMPLOYEEID没有manangerid(即NULL)。现在我需要查询输出,使其返回EMPLOYEENAME和相应的MANGERNAME

怎么做?

我尝试过自联接但无法获得所需的输出。

1 个答案:

答案 0 :(得分:2)

你需要一个自我加入,LEFT JOIN来获得那些没有经理的人:

SELECT
  e.EMPLOYEEID,
  e.EMPLOYEENAME,
  m.EmployeeName AS ManagerName
FROM Employees AS e
LEFT JOIN Employees AS m ON e.ManagerId = m.EmployeeID;

SQL Fiddle Demo