在SQL中的if else条件

31 浏览
0 Comments

在SQL中的if else条件

这个问题已经有了答案:

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

你可以在SQL中使用if-then-else逻辑吗?[重复]

我想写一个SQL查询,它可以执行以下操作:

如果这个查询(在table1表中选择X,其中x=\'value1\')有结果返回1否则,如果(table2表中选择X,其中x=\'value2\')有结果返回2,否则返回0。

谢谢

admin 更改状态以发布 2023年5月24日
0
0 Comments

能否使用变量实现:

DECLARE @FLAG INT = 0;
SELECT @FLAG = 1 FROM table1 WHERE x = 'value1'
IF @FLAG = 0 
BEGIN
    SELECT @FLAG = 2 FROM table2 WHERE x = 'value2'
END
SELECT @FLAG

@FLAG变量将保存0、1或2的值,表示表中是否包含数据。如果第一个查询不包含数据,则运行第二个查询,如果两个查询都没有返回数据,则返回0(默认@FLAG值)。

0
0 Comments

一种方法是使用selectcase语句:\n

select (case when exists (select X from table1 where x = 'value1')
             then 1
             when exists (select x from table2 where x = 'value2')
             then 2
             else 0
        end) as flag

0