我有这样一个问题:
SELECT
field1 as field1 ,
field2 as field2 ,
(select count(*) from ... where ...=field1) as field3
FROM
...
它工作得很好-我在结果中看到了3列
我需要为内部查询再添加一列:
SELECT
field1 as field1 ,
field2 as field2 ,
(select count(*) as my_count, sum(*) as my _sum from ...where ...=field1 ) as field3
FROM
...
这种语法不起作用。
我怎样才能做到呢?
4条答案
按热度按时间oipij1gg1#
以下内容似乎可以满足您的需要,在oracle 9i中应该可以正常工作:
ozxc1zmp2#
这个部分查询不确定您真正想要的是什么,但是我希望子查询实际上与外部查询相关(否则,您可以
cross join
). 如果是这样,典型的解决方案是横向连接。博士后:
oracle支持从版本12开始的横向联接。你只需要替换
left join lateral
与outer apply
.exdqitrt3#
可以使用cte(公共表表达式)预计算值:
或者。。。您可以始终使用性能更低、更简单的方法:
xfyts7mz4#
由于您有限的(有点混乱的-2数据库,sum(*)…)信息,
逻辑如下: