У меня проблемы с запросом, который отображает записи в соответствии с их частотой заполнения.
Например, вакансия не может быть забронирована или не зарезервирована.Если у вакансии есть заказы, они могут быть в форме 'active [1]', 'pending [0]'.Запрос, который я написал до сих пор, работает, если у вакансии есть записи бронирования, но я не могу заставить ее работать, если у нее нет записей бронирования.
Мой запрос (который работает) для вакансий с бронированием:следующим образом: -
SELECT v.*, j.job_category_name, bu.business_unit_name
FROM vacancy v
INNER JOIN job_category j ON j.job_category_id = v.job_category_id
INNER JOIN business_unit bu ON bu.business_unit_id = v.business_unit_id
INNER JOIN booking b ON b.vacancy_id = v.vacancy_id
INNER JOIN booking_status bs ON bs.id = b.booking_status_id
WHERE
v.vacancy_status <> 'revoked' AND
v.vacancy_reference <> 'auto-generated booking' AND
v.business_unit_id IN (series of primary keys) AND
(bs.booking_status_type_id = 1 OR bs.booking_status_type_id = 2)
GROUP BY v.vacancy_id
HAVING v.vacancy_limit > count(b.booking_id)
ORDER BY v.vacancy_id DESC
Я думал, что изменение соединения b и bs на LEFT JOIN сработало бы, но это не сработало.
Есть идеи?