0
以下查詢將在別名'RANKING'上拋出"00904. 00000 - "%s: invalid identifier"
錯誤。無法弄清楚爲什麼這不起作用。如果我消除'WHERE'子句,它會產生正確的結果。SQL引發「無效標識符」錯誤
SELECT RELEASE_NAME,
ROW_NUMBER() OVER(ORDER BY START_DATE DESC) AS RANKING
FROM(
SELECT RELEASE_NAME, MIN(START_DATE) AS START_DATE FROM RM_TASK_STATUS_VIEW
WHERE RELEASE_NAME LIKE '%AU%' AND START_DATE IS NOT NULL
GROUP BY RELEASE_NAME
ORDER BY START_DATE
)
WHERE RANKING IN (3,4);
您在'SELECT'中將別名命名爲'WHERE'條件!你需要在'WHERE'條件中再次使用整個表達式,或者再次使用子查詢。由於別名不能在'WHERE'子句中引用,只能在'ORDER BY'子句中引用。 –
實際上,你不能在where子句中使用row_number()。你會得到SQL錯誤:ORA-30483。 –