【发布时间】:2020-11-15 06:43:22
【问题描述】:
下面的子查询 query1 工作正常。 但是,当我将 equi 条件放入 -sort of-nested 子句(如 query2)中时,它会显示错误 ORA-00904。 这是关联子查询的错误使用还是其他原因?
--Query1: It shows expected result.
SELECT
O.ENAME
O,SAL
,(SELECT COUNT(*)
FROM SCOTT.EMP I
WHERE I.SAL>O.SAL --correlated to outer
) AS RESULT
from SCOTT.EMP O;
--Query2:ORA-00904: "O"."SAL": invalid identifier shows. How to modify to use correlated subquery?
SELECT
O.ENAME
O,SAL
,(
WITH TEMP AS
(
SELECT COUNT(*)
FROM SCOTT.EMP I
WHERE I.SAL>O.SAL --I have put equi condistion here
)
SELECT * FROM TEMP
) AS RESULT
from SCOTT.EMP O;
【问题讨论】:
-
您使用的是哪个版本的 Oracle?在 12.1(我认为)之前,父/子引用有一个级别的限制;但不确定在以后的版本中如何与 CTE 一起使用。
标签: oracle subquery window-functions correlated-subquery ora-00904