2017-10-05 120 views
0

晚上好EST,无效的加入条款

我被困在下面的查询中,我一直在第12行得到一个无效的标识符错误,第一个“删除标记”。不知道我是否缺少一些语法或者做一些其他的傻事。 (我已经非常彻底地检查了我没有拼错任何东西,并且存在所有字段)

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' 

回答

1

这是你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' 

一个表的别名,需要在使用前进行定义。我想你打算打算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'