Возможно ли иметь запрос CASE WHEN, в котором вместо ELSE, являющегося «текстовой строкой», он возвращает переменную?
Пример
CASE WHEN (возраст НЕ ВХОДИТ (ВЫБЕРИТЕ возраст ИЗ PersonInfo) THEN 'поле отсутствует' ELSE (ВЫБЕРИТЕ возраст ИЗ PersonInfo)
Возможно ли иметь запрос CASE WHEN, в котором вместо ELSE, являющегося «текстовой строкой», он возвращает переменную?
Пример
CASE WHEN (возраст НЕ ВХОДИТ (ВЫБЕРИТЕ возраст ИЗ PersonInfo) THEN 'поле отсутствует' ELSE (ВЫБЕРИТЕ возраст ИЗ PersonInfo)
PersonInfo не содержит ноль или одну строку. 01.07.2021 Есть два варианта:
Вы можете использовать подзапрос в else, но только в том случае, если подзапрос возвращает одно значение:
CASE WHEN (возраст НЕ ВХОДИТ (ВЫБЕРИТЕ возраст ИЗ PersonInfo) THEN 'поле отсутствует' ELSE (ВЫБЕРИТЕ MAX(возраст) ИЗ PersonInfo) END
Вы можете использовать присоединиться
CASE WHEN (age NOT IN (SELECT age FROM PersonInfo) THEN 'поле отсутствует' ELSE pi.age END ..... присоединиться к PersonInfo on