我在子查询中有一个带有子查询的查询。内部子查询与外部查询的结果相关:
SELECT
employees.ENAME,
employees.DEPTNO,
(
SELECT * FROM
(SELECT DNAME FROM DEPT WHERE DEPT.DEPTNO = employees.DEPTNO)
) DNAME
FROM EMP employees
;
对于 Oracle 10.2.0.1.0,它可以正常工作,但 Oracle 11.2.0.4.0 会引发错误:
ORA-00904: "EMPLOYEES"."DEPTNO": 无效标识符"
如果我删除中间的查询,它也适用于 Oracle 11。所以我认为这是标识符可见性的问题。
上面的代码是我的问题的简化。由于某种原因,我无法通过另一个联接解决问题,也无法使用存储过程或辅助视图。如何使此代码在单个查询中与 Oracle 11 一起使用?