次のような優先順位に基づいて、テーブルからデータを選択する必要があります。
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でこのようなことをどのように行うことになっていますか?疑似ifに何らかのCASEステートメントを使用しますか?組合やその他の賢いことをしますか?
編集:私はMSSQLを使用しています。
ありがとう!