where 子句中的子查询
Subquery in the where clause
很难 google 这个,耐心等待...寻找更罕见的语法。是否有这样的查询:
SELECT x
FROM foo
WHERE foo.y = (foo.a = 3 AND foo.b = 5)
基本上,parens 中的表达式求值为布尔值,我想知道它是否可用于查找 y 列(存储布尔值)。
这种语法可能是错误的,有人知道是否存在这样的东西吗?
您可以像这样使用 CASE
表达式:
SELECT x
from foo
where foo.y = (CASE WHEN (foo.a = 3 AND foo.b = 5) THEN 1 ELSE 0 END)
你可以使用IFF(),使用SQL Server
,如下:
select x
from foo
where foo.y = (select iif(foo.a=3 and foo.b=5,0,1));
很难 google 这个,耐心等待...寻找更罕见的语法。是否有这样的查询:
SELECT x
FROM foo
WHERE foo.y = (foo.a = 3 AND foo.b = 5)
基本上,parens 中的表达式求值为布尔值,我想知道它是否可用于查找 y 列(存储布尔值)。 这种语法可能是错误的,有人知道是否存在这样的东西吗?
您可以像这样使用 CASE
表达式:
SELECT x
from foo
where foo.y = (CASE WHEN (foo.a = 3 AND foo.b = 5) THEN 1 ELSE 0 END)
你可以使用IFF(),使用SQL Server
,如下:
select x
from foo
where foo.y = (select iif(foo.a=3 and foo.b=5,0,1));