Я пишу систему бронирования для проекта и в настоящее время работаю над созданием некоторых функций отчетов. Мне нужно вернуть список всех классов на сегодняшний день, независимо от того, есть у них бронирование или нет.
Проблема, которую я получаю, заключается в том, что когда нет заказов, я ничего не получаю из запроса sql, но когда есть заказы, я получаю правильную информацию. Если я заберу количество забронированных билетов у избранных, все будет работать, но мне нужна вся эта информация.
SELECT
class_instances.instance_sdate,
classes.class_name,
classes.class_max,
users.user_name_first,
users.user_name_last,
COUNT(bookings.booking_id)
FROM
`computing-project`.class_instances class_instances,
`computing-project`.classes classes,
`computing-project`.users users,
`computing-project`.bookings bookings
WHERE
DATE(class_instances.instance_sdate) = DATE(NOW()) AND
class_instances.class_id = classes.class_id AND
classes.teacher_id = users.user_id AND
bookings.instance_id = class_instances.instance_id
Набор данных: https://imgur.com/JDjkK0G
Этот код выше работает, только если кто-то забронировал класс. не тогда, когда в классе нет зарегистрированных участников.
я все еще получаю счетчик, возвращенный как 0, но никаких других результатов для других столбцов
- надеюсь, что это имеет смысл.
Ожидаемый результат
+-----------------------+------------+-----------+-----------------+----------------+----------------------------+
| instance_sdate | class_name | class_max | user_name_first | user_name_last | count(bookings.booking_id) |
+-----------------------+------------+-----------+-----------------+----------------+----------------------------+
| 2019-03-23 16:38:00.0 | Test | 11 | Louis | Simpson | 0 |
| 2019-03-23 16:39:00.0 | Test2 | 12 | Louis | Simpson | 0 |
+-----------------------+------------+-----------+-----------------+----------------+----------------------------+