0

所以我有一张表,其中有员工编号(empno)name(ename)并且manager number(mgr)
问题:列出所有员工的姓名以及他们的经理姓名和经理的经理姓名,如果经理不存在,则在任何左边留空。

到目前为止我所拥有的:
SELECT a.ename, b.ename, b.mgr FROM emp a LEFT OUTER JOIN emp b ON a.mgr=b.empno

这显示了员工,他们的经理和他们的经理号码......谁能帮我将第三列中的经理号码更改为姓名?

4

1 回答 1

1

您已经完成了大部分工作,您想做与第一次加入时相同的事情。

SELECT a.ename, 
       b.ename, 
       c.ename 
FROM emp a 
 LEFT OUTER JOIN emp b 
     ON a.mgr=b.empno;
 LEFT OUTER JOIN emp c
     ON b.mgr=c.empno

注意:我会为您的别名使用更友好的名称。a、b、c 非常混乱。

于 2013-06-07T15:56:41.200 回答