Ошибка пропущенного ключевого слова при запуске кода на Oracle - PullRequest
0 голосов
/ 10 июня 2019

У меня есть 2 таблицы, одна таблица, в которой хранятся сведения о персонале (столбцы: staff_id, staff_name, департамент_id), а другая таблица, в которой хранятся данные отдела (столбцы департамент_id, отдел_имя, отдел_блок_num).

Мне нужно написать запрос для отображения названий отделов и количества сотрудников в каждом отделе, если персонал не существует, отображать число 0. 0. 1003 *

Вот код

Select department_name, 
        case department.department_id 
             when department.department_id=staff.department_id then count(staff_name)  
        else 0 end staff_count 
From department, staff 
Group by department_name 
order by department_name;

1 Ответ

0 голосов
/ 10 июня 2019

Вы ищете LEFT JOIN и запрос агрегации:

select d.department_id, d.department_name, 
       count(s.department_id) as staff_count 
from department d left join
     staff s
     on d.department_id = s.department_id
group by d.department_id, d.department_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...