У тебя есть логика 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.

Благодарность

Ответы на вопрос(7)

Ваш ответ на вопрос