oracle join 시 존제하는 컬럼에 대해 ORA-00904: 부적합한 식별자 에러 0 2 7,561

by 리치 oracle ORA-00904 부적합한 식별자 [2023.09.21 19:45:30]


mssql을 DB링크하여 oracle에서 조회하고 있습니다.

아래 쿼리문의 join 에서 제가 아는 범위외의 에러가 나타나고 있습니다.

 

select T4.USER_CD, T1.BKNG_NO, T1.REF_TYPE

from TBL_MASTER@CTS T1

     ,TBL_USER_INFO@CTS T4

LEFT JOIN TBL_COMMON_CODE@CTS T5

ON T5.COM_CD = T1.REF_TYPE AND GRP_ID = 'GRP_001'

where T1.CUST_SEQ = T4.CUST_SEQ

AND T4.USER_CD = '1'

 

에러 메시지 : ORA-00904: "T1"."REF_TYPE": 부적합한 식별자

 

left join 부분을 주석처리하면 T1.REF_TYPE 컬럼은 잘 조회 되므로 컬럼명 문제는 아닙니다.

그리고 mssql쪽에서는 left join을 아래와 같이 사용하라고 전달 받았습니다.

  LEFT JOIN TBL_COMMON_CODE AS T5 WITH(NOLOCK)

    ON T5.COM_CD = T1.REF_TYPE

 

뭘 잘못한 걸까요?

컬럼명 문제 외 이런 에러는 어떤 경우인지 아시는 분 계신지요?

by 마농 [2023.09.21 20:07:56]

ANSI 조인과 아닌 조인을 어중간하게 혼용하고 있네요.

ANSI 조인으로 통일시키세요.


by 리치 [2023.09.21 20:16:57]

답변 주신 내용으로 해결 했습니다.

도움 감사합니다. ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입