我应该列出员工和他们老板的名字......
问题是我必须使用同一张表......我不认为我必须使用 JOIN,或者是吗?
SELECT
first_name AS NOMBRE,
manager_id AS ID_JEFE,
(SELECT first_name FROM employees WHERE employee_id = ID_JEFE) AS JEFE
FROM employees
ORDER BY NOMBRE ASC;
为什么这不起作用?
它不起作用,因为在子查询级别上没有 ID_JEFE 列。
正确的查询可能是:
SELECT
a.first_name AS NOMBRE,
a.manager_id AS ID_JEFE,
b.first_name AS JEFE
FROM employees a left join employees b ON b.employee_id=a.manager_id
ORDER BY a.first_name ASC;
SELECT first_name AS NOMBRE, manager_id AS ID_JEFE,
(SELECT first_name FROM employees WHERE employee_id = manager_id ) AS JEFE
FROM employees
ORDER BY NOMBRE ASC;