我想从下面的查询中获取rowId,但是当我执行查询时,我得到了一个错误。谁能帮忙吗?
WITH DATA_TBL AS
(SELECT
/*+ parallel(scr,10)
parallel(el,10) */ scr.rowid AS "row_id", scr.*
FROM SOURCE_TABLE scr
LEFT OUTER JOIN CITY el ON (el.CITY_NAME = scr.SUN_W)
WHERE el.rowid IS NULL
AND scr.SUN_W IS NOT NULL
AND GREATEST(scr.SUN_WA, scr.B ) IS NULL
)
SELECT row_id FROM DATA_TBL;
当我执行上述查询时,出现以下错误,我不确定自己在做什么错,请指导!
ORA-00904: "ROW_ID": invalid identifier
00904. 00000 - "%s: invalid identifier"
但是如果我执行以下操作,查询将没有任何问题,但是我只想选择row_id。
答案 0 :(得分:3)
请勿将双引号用作标识符!默认情况下,Oracle大写所有标识符。您已将其明确定义为小写。
您可以说select "row_id"
,但这很愚蠢。删除CTE中的双引号。