在同一表格中选择

时间:2019-04-29 21:30:43

标签: mysql sql

我正在研究SQL语句,但在这种情况下陷入困境。

问题是选择同一表中具有与另一个关联列的数据,我想要的结果是选择“受雇者姓名”,“报告给”,“老板姓名”(选择姓名与employeeeId相关联)

[1]: https://pasteboard.co/IcqUYbB.png "execution of queries"

我尝试在同一查询中选择将它们关联的列,但是没有用。

linewidth

都失败了

我要

4 个答案:

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