Temp Table 左连接子句中的标识符无效

Invalid Identifier in Temp Table Left Join Clause

美国东部时间晚上好,

我被困在下面的查询中,我在第 12 行,第一个 "DELETE FLAG" 不断收到无效标识符错误。不确定我是否遗漏了某些语法或做了其他愚蠢的事情。 (我已经非常彻底地检查过我没有拼错任何内容并且所有字段都存在)

Oracle SQL Developer V.17.2 非常感谢任何帮助。

SELECT
      CM.SUBJECT_PERSON_ID,
      CM.COHORT_SCOPED_IDENTIFIER AS SUBJECT_STUDY_ID,
      SA3.ALT_ID_VALUE AS GLOBAL_SUBJECT_ID,
      V.PREFERRED_TERM AS MEMBER_STATUS,
      CM.COHORT_ID,
      SA2.ALT_ID_VALUE AS CRIN_ID
 FROM GLENAPO.COHORT_MEMBER CM
                LEFT JOIN GLENAPO.SUBJECT_ALT_ID SA1
         ON     SA2.SUBJECT_PERSON_ID =CM.SUBJECT_PERSON_ID
            AND SA2.IDENTIFIER_TYPE_ID = 8 -- get SDG_ID
            AND SA2.DELETE_FLAG = 'N'
           LEFT JOIN GLENAPO.SUBJECT_ALT_ID SA1
         ON     SA2.SUBJECT_PERSON_ID =CM.SUBJECT_PERSON_ID
            AND SA2.IDENTIFIER_TYPE_ID = 8 -- get SDG_ID
            AND SA2.DELETE_FLAG = 'N'
      LEFT JOIN GLENAPO.SUBJECT_ALT_ID SA2
         ON     SA2.SUBJECT_PERSON_ID =CM.SUBJECT_PERSON_ID
            AND SA2.IDENTIFIER_TYPE_ID = 18 -- get CRIN ID
            AND SA2.DELETE_FLAG = 'N'
      JOIN GLENAPO.SUBJECT_ALT_ID SA3
         ON     SA3.SUBJECT_PERSON_ID =CM.SUBJECT_PERSON_ID
            AND SA3.IDENTIFIER_TYPE_ID = 12 -- get Global Subject
            AND SA3.DELETE_FLAG = 'N'
      LEFT JOIN GLENAPO.VOCAB_TERM_VIEW V
         ON     V.TABLE_NAME = 'COHORT_MEMBER'
            AND V.COLUMN_NAME = 'STATUS_CODE'
            AND V.CONCEPT_ID = CM.STATUS_CODE
      LEFT JOIN GLENAPO.FACILITY_REFERENCE FR ON FR.FACILITY_ID = CM.FACILITY_ID      
WHERE CM.DELETE_FLAG = 'N'

这是您的 FROM 子句的开头:

 FROM GLENAPO.COHORT_MEMBER CM LEFT JOIN
      GLENAPO.SUBJECT_ALT_ID SA1
      ON SA2.SUBJECT_PERSON_ID = CM.SUBJECT_PERSON_ID AND
         SA2.IDENTIFIER_TYPE_ID = 8 AND -- get SDG_ID
         SA2.DELETE_FLAG = 'N'

一个table别名需要在使用前定义。我想你打算 SA1,而不是 SA2:

 FROM GLENAPO.COHORT_MEMBER CM LEFT JOIN
      GLENAPO.SUBJECT_ALT_ID SA1
      ON SA1.SUBJECT_PERSON_ID = CM.SUBJECT_PERSON_ID AND
         SA1.IDENTIFIER_TYPE_ID = 8 AND -- get SDG_ID
         SA1.DELETE_FLAG = 'N'