Попытался выполнить следующий запрос, но получил ошибку как ORA-00904: «RTE_LOC».»RCRD_STTS_VAL»: неверный идентификатор

#sql

Вопрос:

 SELECT cast(RTE_LOC.SYS_ID as decimal(11)) as SYS_ID ,  RTE_LOC.GTMU_ID,  RTE_LOC.RTE_ID, RTE_LOC.LOC_ID, RTE_LOC.LOC_UNIQ_ID_VAL,  RTE_LOC.RLTNSHP_TYP_CDV, RTE_LOC.RLTNSHP_STRT_DT, RTE_LOC.RLTNSHP_END_DT, RTE_LOC.LOC_RTE_LOAD_SEQ_VAL, RTE_LOC.RCRD_STTS_VAL, RTE_LOC.RTE_UNIQ_ID_VAL,'US' as LOC_CTRY_CODE, 'US28' as LOC_CO_CODE FROM   (SELECT *   FROM   (SELECT RTE_LOC1.*,   RANK() OVER (PARTITION BY   RTE_LOC1.SYS_ID,  RTE_LOC1.LOC_ID,   RTE_LOC1.LOC_UNIQ_ID_VAL,   RTE_LOC1.GTMU_ID,   RTE_LOC1.RLTNSHP_STRT_DT,  RTE_LOC1.RLTNSHP_TYP_CDV,  RTE_LOC1.RTE_ID,   RTE_LOC1.RTE_UNIQ_ID_VAL   ORDER BY   RTE_LOC1.DIH__PUBLICATION_INSTANCE_DATE DESC) AS RNK   FROM RTE_*** RTE_LOC1   WHERE '1'='$QRY_PARAM')  RTE_LOC2   WHERE RNK=1) RTE_LOC  

Ответ №1:

Вы получаете сообщение об ошибке, поскольку столбец RTE_LOC.RCRD_STTS_VAL предположительно не существует во внутреннем запросе, поэтому вы не можете выбрать его во внешнем запросе.