안녕하세요
아래와 같으 계층 구조의 테이블이 존재합니다.
Parent |
Child |
A |
B |
A |
C |
B |
D |
D |
D |
위 내용은 A를 만들기 위해 B,C가 필요하고 B를 만들기 위해 D가 필요합니다.
문제는 D를 만들기위해 또 D가 필요한 구조로 되어 있습니다.
이 경우 부모와 자식이 같은 D를 제외하면 아래와 같이 CONNECT BY PRIOR Query를 이용하여 작성하면 간단한데요
select parent, child
from TABLE a start with parent = 'A'
CONNECT BY PRIOR child = parent
D를 포함하면 루프에 빠기게 됩니다. D까지 포함되어 나타나게 할 수 있는 방법이 있을 까요? 무식하게 union all로 따로 D를 구해서 넣고 했는데 이 방법이 좋은 것 같지 않아서요
좋은 하루 보내세요 |