View difference between Paste ID: S3YvC5HD and dmd3z0Jf
SHOW: | | - or go back to the newest paste.
1-
/*Выгрузите таблицу из двух полей: первое поле с фамилией сотрудника, второе — с количеством пользователей, чьи запросы этот сотрудник обработал. Назовите поля employee_last_name и all_customers соответственно. Сгруппируйте записи по идентификатору сотрудника. Отсортируйте количество пользователей по убыванию.
1+
/*У некоторых сотрудников есть менеджеры — их идентификаторы указаны в поле reports_to. Посмотрите внимательно на схему базы: таблица staff отсылает сама к себе. Это нормально, можно не создавать новую таблицу с менеджерами. 
2
Теперь можно разобраться в иерархии команды. Отобразите таблицу с двумя полями: в первое поле войдут фамилии всех сотрудников, а во второе — фамилии их менеджеров. Назовите поля employee_last_name и manager_last_name.
3
*/
4-
SELECT s.last_name AS employee_last_name,
4+
5-
       COUNT(c.customer_id) AS all_customers
5+
SELECT staff.last_name AS employee_last_name,
6-
FROM staff AS s
6+
       s.last_name AS manager_last_name
7-
LEFT OUTER JOIN client AS c ON s.employee_id = c.support_rep_id
7+
FROM staff
8-
GROUP BY s.employee_id
8+
LEFT JOIN staff AS s ON staff.reports_to = s.employee_id;