Я хочу написать запрос выбора, который показывает мне имя, фамилию и имя_управления. Каждая строка сотрудника имеет столбец управления, который равен идентификатору сотрудника менеджера.
Вот что я написал, но это не работает:
select
e.first_name ,
e.last_name ,
o.firstname AS management_name
from employee e
join employee o ON e.employee_id = o.management
Кстати: я узнаю скриншот PhpMyAdmin. Это тоже поддерживает sql-server?
Что такое «управленческая ведьма»?
«но это не очень хорошо работает» — очень расплывчатое описание. Чего вы ожидаете?
Если вы предполагаете, что employee e
является подчиненным, а employee o
— их руководителем, то условие соединения будет изменено на противоположное. Ценность employee_id
руководителя должна совпадать с ценностью management
подчиненного с помощью ON e.management = o.employee_id
.
Исправленный запрос тогда будет таким:
select
e.first_name ,
e.last_name ,
o.firstname AS management_name
from employee e
join employee o ON e.management = o.employee_id
Кроме того, если вы хотите, чтобы ваши результаты показывали, что у сотрудника «Чендлер Бинг» нет менеджера, вам следует изменить внутреннее соединение на левое соединение.
я имею в виду, что хочу, чтобы имена менеджеров основывались на управлении столбцами