хорошо. Вот таблицы: регионы, страны, места, отделы, персонал, история работы, вакансии.
регионов имеет свой собственный идентификатор и имя.
страны имеют свой собственный идентификатор и имя и идентификатор региона в качестве внешнего ключа.
местоположения имеют свой идентификатор, адрес, почтовый индекс, город, штат и идентификатор страны в качестве внешнего ключа.
отдел имеет свой идентификатор и имя и Идентификатор менеджера в качестве внешнего ключа и идентификатор местоположения в качестве основного ключа.
Персонал имеет свой идентификатор, имя, фамилию, адрес электронной почты, дату найма, зарплату, комиссию и supervisor_id в качестве основного ключа и Department_id в качестве ключа foregin, и job_id в качестве ключа foregin.
история заданий имеет идентификатор персонала в качестве внешнего ключа, а начальные данные, дату окончания и идентификатор задания и департамента в качестве внешнего ключа.
вакансии имели свой собственный идентификатор, должность, минимальную зарплату и максимальную зарплату.
Вот мои вопросы.
Когда я хочу напечатать название региона, название страны и количество сотрудников в каждом округе, как мне соединить каждую таблицу, чтобы я мог подсчитать количество сотрудников в каждой стране?
SELECT region_name, country_name, COUNT(*) as StaffCount
FROM regions
INNER JOIN countries ON regions.region_id = countries.region_id
INNER JOIN locations ON locations.country_id = countries.country_id
INNER JOIN departments ON departments.location_id = locations.location_id
GROUP BY region_name
ORDER BY country_name ASC;
Где этот код неправильный и как я могу изменить этот код?
Другая проблема состоит в том, что я хочу напечатать имя, фамилию, должность руководителя, количество сотрудников, которых они контролируют, только когда они контролируют 7 или более сотрудников. Как добавить счетчик (*) к следующему коду?
SELECT first_name, last_name, job_title, supervisor_id
FROM staff INNER JOIN jobs ON staff.job_id = jobs.job_id;