У тебя есть логика if-then-else в SQL? [Дубликат]
На этот вопрос уже есть ответ:
Как мне выполнить IF… THEN в SQL SELECT? 25 ответовМне нужно выбрать данные из таблицы на основе какого-то приоритета, например:
select product, price from table1 where project = 1
-- pseudo: if no price found, do this:
select product, price from table1 where customer = 2
-- pseudo: if still no price found, do this:
select product, price from table1 where company = 3
То есть, если я нашел 3 продукта с ценами, основанными наproject = X
, Я не хочу выбирать наcustomer = Y
. Я просто хочу вернуть полученные 3 строки и все готово.
Как вы должны делать такие вещи в SQL? Использовать какое-нибудь CASE-утверждение для псевдо-если? Есть ли союз или какая-нибудь другая умная вещь?
Редактировать: я использую MS SQL.
Благодарность