Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Как перестроить запрос, чтобы ключи были даже когда данные отсутствуют?

#запрос #mysql


Есть такой запрос
SELECT SUM(`total`) AS `sum`,CONCAT_WS('-',year(FROM_UNIXTIME(`unix`)),DATE_FORMAT(FROM_UNIXTIME(`unix`),'%m'))
AS `key` FROM `shop_orders` WHERE `status` NOT IN (1,6) AND `unix` BETWEEN ".(int)$start."
AND ".(int)$end." GROUP BY `key`

Возвращает он массив данных формата [2012-08] => 4252.00
В переменных $start и $end unix-даты начала августа 2011 и конца августа 2012 соответственно.
Если в БД нет записей с датой какого-нибудь месяца, то ключ с этой датой естественно
отсутствует, это логично.
Вопрос: возможно ли перестроить запрос таким образом, чтоб ключи были в любом случае,
а если данные отсутствуют, то значение было 0?
Пример (при отсутствии данных в БД за апрель и июнь):
[2012-04] => 0
[2012-05] => 152.00
[2012-06] => 0
[2012-07] => 5721.00
[2012-08] => 4252.00
    


Ответы

Ответ 1



Воспользуйтесь ф-цией IFNULL()

Комментариев нет:

Отправить комментарий