[Oracle] 오라클 계층형쿼리 결과가 제대로 나오지 않는 경우
데이터 조회하는데 문제가 있어서 평소 잘 다루지 않던 계층형 쿼리를 봤는데 도대체 문제가 뭔지 모르겠다가 찾은 부분인데 FROM절 바로 밑에 WHERE절 조건을 적으면 조건이 잘 적용되지 않는 문제.
FROM절 테이블을 WHERE절이 함께 있는 SUBQUERY로 작성.
--테스트결과 : 정상
▶ 잘못된 작성법
SELECT COL1, COL2, COL3
FROM TABLE1
WHERE COL1 = '1'
AND COL2 = '2'
START WITH RECORD_ID = #recordId#
CONNECT BY PRIOR ORGINL_RECORD_ID = RECORD_ID
▶ 올바른 작성법
SELECT COL1, COL2, COL3
FROM (
SELECT *
FROM TABLE1
WHERE COL1 = '1'
AND COL2 = '2')
START WITH RECORD_ID = #recordId#
CONNECT BY PRIOR ORGINL_RECORD_ID = RECORD_ID
'오라클 DB' 카테고리의 다른 글
[Oracle] 오라클 TRUNCATE TABLE의 활용 [ORACLE 테이블 조회속도 향상] (1) | 2022.06.27 |
---|---|
[Oracle] 오라클 반복문 FOR, LOOP, WHILE (2) | 2022.01.12 |
[Oracle] 오라클 오픈 커서 수 조회 (1) | 2022.01.05 |
[Oracle] 오라클 비율함수 RATIO_TO_REPORT (1) | 2022.01.05 |
[Oracle] 오라클 프로시저 INTO 값 2개 이상 작성법 (1) | 2020.07.01 |