我正在研究SQL语句,但在这种情况下陷入困境。
问题是选择同一表中具有与另一个关联列的数据,我想要的结果是选择“受雇者姓名”,“报告给”,“老板姓名”(选择姓名与employeeeId相关联)
我尝试在同一查询中选择将它们关联的列,但是没有用。
linewidth
都失败了
我要
答案 0 :(得分:2)
使用LEFT
自加入还包括主要上司
select
lower.employeeNumber
,lower.firstName
,higher.firstName as boss
from employees lower
left outer join employees higher
on higher.employeenumber = lower.reportsto
答案 1 :(得分:0)
您需要学习联接概念以及一个特殊的情况,在这种情况下您可以像这样将表联接到自身:
select
e1.employeeNumber
,e1.firstName
,e2.firstName as boss
from employees e1
join employees e2
on e1.reportsTo=e2.employeeNumber
答案 2 :(得分:0)
使用self-join
SELECT e1.employeeNumber,e1.firstName,
e2.firstname as boss
FROM employees e1
LEFT JOIN employees e2
ON e1.reportsTo = e2.employeeNumber;
答案 3 :(得分:0)
您将表与自身进行连接(您无需在两个表中都使用别名,但我认为这样可以避免混淆)
/users/