Как написать запрос для внутреннего соединения

Я хочу написать запрос выбора, который показывает мне имя, фамилию и имя_управления. Каждая строка сотрудника имеет столбец управления, который равен идентификатору сотрудника менеджера.

Вот что я написал, но это не работает:

select 
  e.first_name , 
  e.last_name , 
  o.firstname AS management_name 
from employee e
join employee o  ON e.employee_id = o.management

я имею в виду, что хочу, чтобы имена менеджеров основывались на управлении столбцами

zahra 08.06.2024 17:41

Кстати: я узнаю скриншот PhpMyAdmin. Это тоже поддерживает sql-server?

Luuk 08.06.2024 17:46

Что такое «управленческая ведьма»?

Mark Rotteveel 08.06.2024 17:47

«но это не очень хорошо работает» — очень расплывчатое описание. Чего вы ожидаете?

Luuk 08.06.2024 17:51
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
5
5
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы предполагаете, что 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

Кроме того, если вы хотите, чтобы ваши результаты показывали, что у сотрудника «Чендлер Бинг» нет менеджера, вам следует изменить внутреннее соединение на левое соединение.

Другие вопросы по теме