У меня есть запрос для выбора количества людей, которые забронировали конкретный отель на все доступные даты.
По сути, у меня есть две таблицы:
date_event , в котором перечислены все доступные даты, в которые у меня есть 3 даты
register_hotels , в котором перечислены регистрации всех людей с указанием соответствующего отеля, даты и идентификатора пользователя
Хитрость в том, что я хочу отобразить '0', если никто не забронировал отель на определенный день.
Вот мой запрос:
SELECT dates_event.date_full, count(registered_hotels.id_registered)
FROM dates_event
LEFT JOIN registered_hotels ON dates_event.date_id = registered_hotels.date_id
WHERE registered_hotels.idhotel='1'
GROUP by dates_event.date_full
Показывает это:
+-------------+----------------------------------------+
| date_full | count(registered_hotels.id_registered) |
+-------------+----------------------------------------+
| 2019-09-15 | 1 |
| 2019-09-16 | 1 |
+-------------+----------------------------------------+
Пока я хочу отобразить это:
+-------------+----------------------------------------+
| date_full | count(registered_hotels.id_registered) |
+-------------+----------------------------------------+
| 2019-09-15 | 1 |
| 2019-09-16 | 1 |
| 2019-09-17 | 0 |
+-------------+----------------------------------------+
Я нашел ответы, чтобы на самом деле отображать ноль, но ничего, когда у меня есть конкретное условие WHERE, которое, кажется, выпускает все пустые строки.
Есть идеи, как мне этого добиться?