首页 > 解决方案 > 在同一个表中选择

问题描述

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

问题是在同一个表中选择与另一个有关联列的数据,我想要的结果是选择“员工姓名”、“报告给”、“老板的名字”(选择与员工 ID)

[1]:https://pasteboard.co/IcqUYbB.png

我尝试在相同的查询中选择关联它们的列,但没有奏效。

/*1*/
SELECT employeeNumber,firstName, (select firstname  from employees where reportsTo = employeeNumber) as boss from employees;

/*2*/
SELECT e.firstName ,'Reports to' as 'Report', (SELECT e2.firstName from employees e2 where e.employeeNumber = e2.reportsTo) AS Boss  
from employees e;

都失败了

我越来越

标签: mysqlsql

解决方案


使用LEFTSELF JOIN 也包括主 Boss

select 
lower.employeeNumber
,lower.firstName
,higher.firstName as boss
from employees lower
left outer join employees higher
   on higher.employeenumber = lower.reportsto

推荐阅读