我需要根据某种优先级从表中选择数据,如下所示:
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。
谢谢!