У меня есть база данных MySql с тремя таблицами, которые мне нужно объединить в запросе: расписание, регистрация и список ожидания. Они внедряют базовую систему регистрации в классах.
Расписание содержит запланированные занятия. Когда пользователь регистрируется в классе, его идентификатор учетной записи пользователя и идентификатор запланированного класса сохраняются в зарегистрированном. Если класс заполнен, он хранится в списке ожидания. Все три таблицы имеют общий столбец scheduleId, который идентифицирует каждый класс.
Когда я запрашиваю таблицу расписаний, мне также необходимо вернуть зарегистрированные столбцы и столбцы списков ожидания, которые представляют количество зарегистрированных пользователей, ожидающих этого конкретного расписания.
Предварительный запрос, который я придумал для достижения этой цели:
select s.id, s.classDate, s.instructor, COUNT(e.id) as enrolled
from schedule as s
left outer join enrolled as e
on s.id = e.scheduleId
group by s.id
, который работает нормально для одной или другой, но, очевидно, я не могу получить значения для зарегистрированных таблиц и таблиц ожидания таким образом.
Кто-нибудь может предложить хороший способ сделать это?