У меня есть запрос, который выглядит так:
SELECT id, description, default_error, custom_error FROM `table1`;
Что дает мне
(int) (Text) (Varchar) (Varchar)
id Description Default_Error custom_error
---------------------------------------------------
1 Hello Error 123
2 World Error 456 This is a custom Error
Я хотел бы выбрать дополнительный столбец ( "ошибка" ), который имеет значение default_error, если custom_error EMPTY, а значение custom_error, если custom_error не является EMPTY.
Любая идея, как это сделать в MySQL?
Try
SELECT id, description, default_error, custom_error,
IF(custom_error='', default_error, custom_error) as error
FROM `table1`;
ИЛИ - если custom_error равен NULL
по умолчанию
SELECT id, description, default_error, custom_error,
ISNULL(custom_error, default_error) as error
FROM `table1`;
Если custom_error имеет значение null, когда он пуст, вы можете использовать это:
select id, description, coalesce(custom_error, default_error)
SELECT id, description, default_error, custom_error,
IF(custom_error='', default_error, custom_error) as error
FROM `table1`;