Мне нужно сделать выбор данных из таблицы на основе какого-то приоритета следующим образом:
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-оператор для псевдо-if? Сделайте союз или какую-нибудь другую умную вещь?
Изменить: я использую MS SQL.
Спасибо!