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

#mysql

#mysql

Вопрос:

У меня есть следующий запрос, который возвращает сгруппированные строки. Для столбца mc_name, который возвращает значение NULL, есть ли какой-либо способ установить значение без изменения данных записей?

введите описание изображения здесь

Это запрос:

 select
    megaagents.megaagent_name AS 'mc_name',
    SUM(IF(MONTH(properties.created_at) = 1, 1, 0)) as ENE,
    SUM(IF(month(properties.created_at) = 2, 1, 0)) AS FEB,
    SUM(IF(month(properties.created_at) = 3, 1, 0)) as MAR,
    SUM(IF(month(properties.created_at) = 4, 1, 0)) AS ABR,
    SUM(IF(month(properties.created_at) = 5, 1, 0)) AS MAY,
    SUM(IF(month(properties.created_at) = 6, 1, 0)) as JUN,
    SUM(IF(month(properties.created_at) = 7, 1, 0)) as JUL,
    SUM(IF(month(properties.created_at) = 8, 1, 0)) AS AGO,
    SUM(IF(month(properties.created_at) = 9, 1, 0)) as SEP,
    SUM(IF(month(properties.created_at) = 10, 1, 0)) as OCT,
    SUM(IF(month(properties.created_at) = 11, 1, 0)) as NOV,
    SUM(IF(month(properties.created_at) = 12, 1, 0)) as DIC,
    COUNT(PROPERTIES.PROP_EXCLUSIVE) AS TOTAL
from
  `properties`
  left join `megaagents` on `properties`.`megaagent_id` = `megaagents`.`id`
where
  `properties`.`marketcenter_id` = 11
  and `properties`.`prop_exclusive` in ('No Exclusiva', 'Exclusiva')
  and `properties`.`prop_transaction` in ('Alquiler Temporal', 'Alquiler', 'Venta')
group by
  `megaagents`.`megaagent_name`
order by
  `megaagents`.`megaagent_name` asc
  

С уважением!

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

1. Попробуйте: SELECT IFNULL(megaagents.megaagent_name, 'MyValue') AS 'mc_name', ... .

2. Спасибо @wchiquito, это еще один обходной путь!! Тоже работает!

Ответ №1:

Использовать COALESCE() :

 select
    coalesce(megaagents.megaagent_name, 'custom value') AS mc_name,
....................................................................