使用子查询来收集老板的名字SQL

时间:2012-12-05 23:38:06

标签: mysql sql oracle

我应该列出员工及其老板的名字......

问题是我必须使用相同的表...我不认为我必须使用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;

为什么这不起作用?

2 个答案:

答案 0 :(得分:3)

它不起作用,因为在子查询级别上没有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;

答案 1 :(得分:0)

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;