초급의 끄적거림

[ORACEL] ORA-01417: 하나의 테이블은 하나의 다른 테이블과 포괄 조인할 수 있습니다 본문

DB/Oracle

[ORACEL] ORA-01417: 하나의 테이블은 하나의 다른 테이블과 포괄 조인할 수 있습니다

codingD 2020. 7. 13. 09:44

에러내용

  • ORA-01417 : 하나의 테이블은 하나의 다른 테이블과 포괄 조인할 수 있습니다.
  • ORA-01417 : a table may be outer joined to at most one other table

발생원인

  • 대상 테이블을 두 개 이상의 테이블과 동시에 OUTER JOIN 을 할 때 발생

해결방법

  • OUTER JOIN을 하는 대상 테이블은 오직 한 개의 테이블과 조인 시켜야 함

예시

  • 대상 테이블인 B 테이블이 A와 C랑 동시에 OUTER JOIN이 되면서 두 개 이상의 테이블과 동시에 OUTER JOIN 을 진행하였기 때문에 에러 발생
-- 에러를 만들기 위한 임시 쿼리문
SELECT A.SABUN, B.SABUN, C.SABUN
FROM mytbl1 as A
   , mytbl2 as B
   , mytbl3 as C
WHERE A.SABUN = B.SABUN (+)
  AND C.SABUN = B.SABUN (+) 

 

  • 대상 테이블은 오직 한 개 의 테이블과 조인시켜야하기 때문에 수정 진행
-- 수정 쿼리문
SELECT A.SABUN, B.SABUN, C.SABUN
FROM mytbl1 as A
   , mytbl2 as B
   , mytbl3 as C
WHERE A.SABUN = B.SABUN (+)
  AND A.SABUN = C.SABUN (+) 

'DB > Oracle' 카테고리의 다른 글

[Oracle] like에 변수 넣는 방법  (0) 2020.09.01
[ORACEL] LENGTH / LENGTHB  (0) 2020.08.25
[Oracle] 상위 n개행 조회하기  (0) 2020.07.13
[ORACLE] OUTER JOIN (+)  (0) 2020.07.10
[ORACLE] NVL 과 NVL2  (0) 2020.07.10
Comments