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 сделать