gpt4 book ai didi

sql - SQL 中有 if-then-else 逻辑吗?

转载 作者:行者123 更新时间:2023-12-01 16:55:19 24 4
gpt4 key购买 nike

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

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。

谢谢!

最佳答案

您可以进行以下sql查询

IF ((SELECT COUNT(*) FROM table1 WHERE project = 1) > 0) 
SELECT product, price FROM table1 WHERE project = 1
ELSE IF ((SELECT COUNT(*) FROM table1 WHERE project = 2) > 0)
SELECT product, price FROM table1 WHERE project = 2
ELSE IF ((SELECT COUNT(*) FROM table1 WHERE project = 3) > 0)
SELECT product, price FROM table1 WHERE project = 3

关于sql - SQL 中有 if-then-else 逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com