where子句中的子查询

时间:2019-02-15 06:44:03

标签: sql subquery correlated-subquery

很难用谷歌搜索它,请忍受...寻找更稀有的语法。是否有这样的查询:

SELECT x
FROM foo 
WHERE foo.y = (foo.a = 3 AND foo.b = 5)

基本上,在括号内的表达式计算为布尔值,我想知道是否可以将其用于查找y列(存储布尔值)。 这种语法可能是错误的,有人知道是否存在类似的东西吗?

2 个答案:

答案 0 :(得分:2)

您可以使用invoice_id这样的表达式:

$invoices_quantity = Sale::selectRaw('sum(quantity) as quantity,invoice_id')->groupBy('invoice_id')->pluck('quantity','invoice_id');  

答案 1 :(得分:1)

您可以使用SQL Server使用IFF(),如下所示:


select x 
from foo
where foo.y = (select iif(foo.a=3 and foo.b=5,0,1));

DB Fiddle Demo