dimastik1986
@dimastik1986
учусь

Возможен ли запрос с подменой?

У меня в таблице есть колонки id, inside_id и outside_id, хотелось бы узнать, могу ли я сделать запрос таким образом, чтобы:

  • если не указаны inside_id и outside_id - выводить id
  • если указаны id и inside_id - выводить inside_id
  • если указаны все три - выводить outside_id
Естественно id есть всегда, двух других может не быть, тогда их значение NULL

Сейчас я делаю это функцией с несколькими запросами и ее нужно каждый раз применять :(
Спасибо!
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
@zhaar
Лучше case использовать. Меньше писанины

CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2

WHEN condition_n THEN result_n
ELSE result
END
Ответ написан
@forspamonly2
COALESCE(outside_id, inside_id, id)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Не поверишь, но в MySQL есть IF и другие конструкции
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы