我有一个具有以下结构的查询:
SELECT blah1 from blah2 where exists (Sub-query) AND Sub-query.col = 'val'
如何在WHERE子句的AND部分中引用子查询(及其列Sub-query.col)?
编辑:此可以解除关联并写为联接,但我没有找到该解决方案。
答案 0 :(得分:1)
你没有。你把它放在from
子句中。根据您的描述,子查询最多只返回一行,因此您可以这样做:
select blah1
from blah2 cross join
(sub-query) s
where s.col = 'val';
实际上,你也可以这样做:
select blah1
from blah2
where (select col from (sub-query) s) = 'val';
由于exists
无法使用过滤器,因此会NULL
处理。