Я получаю
ORA-00904: "E". "MANAGER_ID": неверный идентификатор 00904. 00000 - "% s: неверный идентификатор" * Причина:
* Действие: ошибкаen la línea: 323, столбец: 77
Со следующим кодом.Позиция 323 столбца 77 относится к позиции 5 столбца 6 в этом фрагменте кода
select concat (concat(concat('Id: ',e.employee_id),
concat ('',e.first_name)),concat('. ',e.last_name)) as "Employee info",
job_title, salary, department_name,
(select first_name from employees
where e.manager_id=employee_id) as "Manager name"
from employees e
natural join jobs natural join departments;
Если я делаю запрос «изолированный», как:
select e.first_name as "Worker name", nvl((select first_name from employees where e.manager_id=employee_id),'Sin manager') as "Manager name"
from employees e
order by e.employee_id;
Я не знаюесли это имеет значение, но база данных - это встроенная база данных hr из oracle
EDIT: еще одна возможность, к которой я пришел, кроме ответов, заключается в следующем
select concat (concat(concat('Id: ',e.employee_id),
concat (' ',e.first_name)),
concat('. ',e.last_name)) as "Employee info",
job_title, e.salary, department_name, m.first_name, m.employee_id
from employees e join jobs j
on (e.job_id = j.job_id)
join departments d
on (e.department_id = d.department_id)
join employees m
on (e.manager_id=m.employee_id)
order by e.employee_id;
единственная проблема заключается вто есть не показывает сотрудников без назначенного менеджера.