SQL Вернуть другую строку, если не найдена первая

Подскажите как вернуть строку, если не найдена первая.

Например: SELECT * FROM TEST WHERE ID = '1' ИНАЧЕ SELECT * FROM TEST WHERE ID = '2'.

БД postgres


Ответы (1 шт):

Автор решения: teran

Выберите обе, и отсортируйте в правильном порядке, взяв только первую строку.

SELECT * 
FROM test 
WHERE id IN ('A','B')
ORDER BY CASE WHEN id = 'A' THEN 1 ELSE 2 END
LIMIT 1

подразумевая, что ID у вас не просто 1,2, т.к в этом случае можно просто order by id сделать

→ Ссылка