#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,
....................................................................