【发布时间】:2026-01-14 21:20:05
【问题描述】:
我有一个在 12C 中可以正常工作的 Oracle SQL 查询,但在 11g 中却不行。我在下面给出了一个类似的例子。请说明这是否是 12C 中修复的错误/增强功能。
CREATE TABLE MSI_OWNER.VINOTH_TEST1
(
COL1 VARCHAR2(100 BYTE),
SAL NUMBER,
YEAR NUMBER
)
Insert into MSI_OWNER.VINOTH_TEST1 (COL1, SAL, YEAR) Values ('Vinoth', 100, 1);
Insert into MSI_OWNER.VINOTH_TEST1 (COL1, SAL, YEAR) Values ('Vinoth', 100, 2);
COMMIT;
SELECT col1,
(SELECT MAX (its)
FROM (SELECT MAX (year) its
FROM vinoth_test1 x
WHERE x.col1 = a.col1))
max_year,
sal
FROM vinoth_test1 a
GROUP BY col1, sal
请注意,我已经重新编写了一个不同的逻辑来解决这个问题,但我想知道这是 11g 中的错误还是 12C 中的增强。
Error in 11g: ORA-00904: "A"."COL1": invalid identifier
【问题讨论】:
-
11版有什么问题?
-
您在 Oracle 11 中遇到的错误是什么?
-
ORA-00904: "A"."COL1": 无效标识符。我在 11g 中遇到了这个错误。在 12C 中,它执行得很好并为我提供了正确的结果。
标签: sql oracle oracle11g oracle12c