Можем ли мы сгенерировать автоматическую дату в SQL, если дата не завершена в таблице с нулевым значением в таблице? - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть таблица с именем final_registration, где я храню регистрационные данные. Ниже приведена моя таблица:

*---------------------------------------------------------------*
| id | event_id |   Name  |   booking_date      | ticket_status |
*---------------------------------------------------------------*
| 1  |    101   | Sandeep | 2018-11-30 15:43:24 |    active     | 
| 2  |    101   | Jagveer | 2018-12-01 18:44:20 |    active     |
| 3  |    101   | Sudhir  | 2018-12-01 20:34:20 |    active     |
| 4  |    101   | Aman    | 2018-12-03 18:44:20 |    active     |
*---------------------------------------------------------------*

Я выполняю следующий запрос для вывода:

SELECT COUNT(id), booking_date 
 FROM final_registration 
 WHERE `event_id` = 101 
 AND `booking_date` >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
 AND ticket_status='active' 
 GROUP BY DATE_FORMAT(`booking_date`, '%d-%b');

Вывод показывает:

*--------------------------*
| count(id) | booking_date |
*--------------------------*
|     2     |  2018-12-01  |
|     1     |  2018-12-03  |
*--------------------------*

Но я не хочу этого, я хочу следующий вывод из запроса:

*--------------------------*
| count(id) | booking_date |
*--------------------------*
|     2     |  2018-12-01  |
|     0     |  2018-12-02  |
|     1     |  2018-12-03  |
|     0     |  2018-12-04  |
*--------------------------*

Примечание. Сегодня 4 декабря 2018 года, так что здесь, яЯ использую текущую дату.

Так как мне сгенерировать автоматическую дату, если в моих табличных значениях нет даты?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Ну, тогда, как сказал @jarlh выше, вам лучше взять таблицу календаря и просто присоединиться к ней.В сети есть куча вещей, где вы можете получить это.Второй вариант, я могу предположить, заключается в том, что, если вы не хотите создавать таблицу, это написать таблицу Excel с датами и простым идентификатором в начале, а в следующем столбце могут быть фактические даты в выбранном вами формате.,Затем щелкните правой кнопкой мыши на имени вашей базы данных в проводнике объектов ssms и используйте данные импорта.Вам не нужно создавать таблицу, вы можете импортировать файл Excel в свою базу данных.Тогда просто присоединяйтесь к столам.

0 голосов
/ 04 декабря 2018

Как насчет использования цикла, начинающегося с текущей даты, а затем заполнения таблицы, если значение существует.

Очевидно, что вам придется подумать об остановке цикла, как, например, проверить, является ли последняя запись вашеготаблица имеет текущую дату цикла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...