我需要根据某种优先级从表中选择数据,如下所示:
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 语句?组建工会还是做点其他聪明的事?
编辑: 我在使用 MS SQL。
谢谢!