У меня есть две таблицы в базе данных MySQL, курсы и сессии. Я пытаюсь суммировать записи в сессиях для каждого курса каждый месяц.
Я могу суммировать общее количество сеансов для каждого курса, без проблем, используя этот запрос:
SELECT courses.CourseID,
SUM(IF( sessions.Duration IS NULL , 0, sessions.Duration)) AS Hrs
FROM courses
LEFT JOIN sessions ON courses.CourseID = sessions.CourseID
WHERE courses.TrainerID = 113
GROUP BY courses.CourseID
Проблема в том, что не во всех курсах есть сессии, поэтому, если я попытаюсь ограничить запрос, добавив его после предложения WHERE:
AND sessions.SessionDate >= '2009-06-01' AND sessions.SessionDate <= '2009-06-30'
Я получаю только курсы с сессиями, но я хочу, чтобы курсы без сессий показывали 0.
Надеюсь, это имеет смысл.
Кто-нибудь может помочь? Спасибо.