【发布时间】:2020-09-25 05:35:35
【问题描述】:
我有一个简单的查询,我只想返回一个值,以防多个条件中的第一个为真。
查询如下所示:
SELECT * FROM table
WHERE case column
when val1 then 1
when val2 then 1
when val3 then 1
end = 1
在表中,可以是所有值(val1、val2 和 val3)的行,但不是强制性的,我只想返回条件为真的第一行并放弃其余条件。
对于我的 SQL 版本,select 语句返回所有 TRUE 条件的行。
请帮帮我。
【问题讨论】:
-
您的查询中缺少comaprisions(例如
when val1 = 123 then 1 when val2 = 456 then 1 ...)。 -
在 SQL server Sql lite 上正常运行
-
@ThorstenKettner:我的 CASE 语句与以下情况相同:当 column = val1 then 1 when column = val2then 1 when column = val3 then 1 end = 1
-
哦,愚蠢的我。是的,我误读了这个。对不起。