2017-10-05 5 views
0

Good Evening EST,Identificateur non valide dans Temp Table gauche Rejoindre l'article

Je suis coincé sur la requête ci-dessous, je continue à obtenir une erreur d'identification invalide à la ligne 12, le premier « SUPPRIMER FLAG ». Je ne sais pas si je manque une syntaxe ou si je fais quelque chose d'idiot. (J'ai vérifié très minutieusement que je n'ai rien mal orthographié et tous les champs existent)

Oracle SQL Developer V. 17.2 Toute aide serait grandement appréciée.

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' 

Répondre

1

C'est le début de votre FROM clause:

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' 

Un alias de table doit être défini avant son utilisation. Je pense que vous avez l'intention SA1, plutôt que 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'