У меня есть база данных, которая содержит следующие таблицы, которые меня интересуют.
- JobAreas (базовая таблица, для которой я хочу запросить другие таблицы)
- JobSkills (навык для каждой работы) принадлежит рабочей области через внешний ключ, т.е. parent_id)
- Jobs (Каждое задание должно принадлежать рабочей области через внешний ключ, т.е. category_id)
- UserSkills (Эта таблица содержит JobSkill, связанный с Рабочая область)
Я прикрепляю структуры таблиц.
Я пытаюсь создать запрос SQL, который может дать мне количество навыков, количество рабочих мест и количество людей для различных вакансий Области. Хотя подсчет пользователей, которые предлагают услуги в определенной области работы, кажется сложным, поскольку он связан косвенно. Я попытался получить количество навыков и количество рабочих мест для всех рабочих мест, используя следующий запрос:
select
t.id,
t.title,
count(s.parent_id) as skillsCount,
count(m.category_id) as jobCount
from
job_areas t
left join skill_types s ON s.parent_id = t.id
left join job_requests m ON m.category_id = t.id
group by
t.id
Но он не дает правильных данных. Кто-нибудь может направить меня в правильном направлении, как этого добиться.