Написание SQL-запроса для возврата данных из нескольких таблиц - PullRequest
0 голосов
/ 14 января 2019

Я работаю с учебником по базе данных и застрял в одном упражнении.

Вопрос 6 на странице 74 книги , а копию базы данных, над которой я работаю, можно найти здесь . На странице 72 вы можете увидеть части двух таблиц. Я хочу написать SQL-запрос, который будет возвращать имя отдела, фамилию руководителя / начальника отдела и фамилию сотрудников, которые там работают.

1009 * Е.Г. *

Маркетинг Сельдь Холт

Таким образом, я смог напечатать название отдела, empId менеджера и фамилии сотрудников с помощью следующего запроса SQL.

SELECT department, manager, lastName
FROM Department d
INNER JOIN Employee e
ON e.dept = d.deptId;

1 Ответ

0 голосов
/ 14 января 2019

Используйте самообъединение, чтобы получить записи о взаимоотношениях менеджер-сотрудник

SELECT d.department, 
       e1.lastname As Employee, 
       e.lastname As Manager
FROM   (employee AS e 
        INNER JOIN department AS d 
                ON d.deptid = e.dept ) 
       INNER JOIN employee AS e1 
               ON e1.supervisor = e.empid 

РЕДАКТИРОВАТЬ: Точное решение вопроса

SELECT d.department, m.lastName, e.lastName
FROM (employee AS e INNER JOIN department AS d  ON d.deptId = e.dept)
INNER JOIN employee AS m ON d.manager = m.empId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...