У меня есть две таблицы. Одна - это события, а вторая - регистрация.Я сохранил информацию об активном или прошедшем событии в таблице Мои события.
Первая таблица для событий:
*-----------------------------------------------------*
| Event_id | Event_name | Event_end_date | Status |
*-----------------------------------------------------*
| E001 | AHM | 2019-02-05 10:00 | Past |
| E002 | JPS | 2019-03-14 10:00 | Active |
| E003 | AHM | 2019-02-05 10:00 | Active |
*-----------------------------------------------------*
Вторая таблица для регистрационной информации:
*------------------------------------*
| R_no | Event_id | booking_date |
*------------------------------------*
| 101 | E001 | 2019-02-01 17:00 |
| 102 | E001 | 2018-11-19 18:50 |
| 101 | E002 | 2018-12-09 14:00 |
| 102 | E002 | 2019-01-25 08:50 |
| 103 | E002 | 2019-02-05 18:00 |
| 101 | E003 | 2019-02-08 10:00 |
| 102 | E003 | 2019-02-10 13:00 |
| 103 | E003 | 2019-02-12 14:50 |
| 104 | E003 | 2019-02-14 16:00 |
*------------------------------------*
Теперь яхотите вывод, как показано ниже для события E003. Здесь следует отметить, что на 2018-декабрь и 2019-январь для E003 не было бронирования, но согласно таблице регистрации есть одно активное событие E002 и несколько билетов на 2018-декабрь и 2019-Январь, и это зависит от event_end_date.
*-----------------*
| Month | Count |
*-----------------*
| 2018-12 | 0 |
| 2019-01 | 0 |
| 2019-02 | 4 |
*-----------------*
Я могу получить счет за 2019-02, но не могу за декабрь и январь. Я использую следующий запрос:
SELECT DATE_FORMAT(booking_date, "%Y-%m") As month, count(event_id) AS count FROM registration LEFT JOIN events ON registration.event_id = events.event_id WHERE registration.event_id = 'E003' GROUP BY registration.event_id
Так что любое обновление моего запроса, чтобы я мог получить мой вывод.