相关疑难解决方法(0)

如何在SQL SELECT中执行IF ... THEN?

我如何IF...THENSQL SELECT声明中执行?

例如:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server if-statement case

1438
推荐指数
26
解决办法
353万
查看次数

你能在SQL中使用if-then-else逻辑吗?

我需要根据某种优先级从表中选择数据,如下所示:

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
Run Code Online (Sandbox Code Playgroud)

也就是说,如果我找到3个基于价格的产品project = X,我不想选择customer = Y.我只想返回结果3行并完成.

你怎么在SQL中做这样的事情?对pseudo-if使用某种CASE语句?做工会还是其他聪明的事情?

编辑:我正在使用MS SQL.

谢谢!

sql sql-server

94
推荐指数
3
解决办法
36万
查看次数

标签 统计

sql ×2

sql-server ×2

case ×1

if-statement ×1

t-sql ×1