2016-07-01 3 views
1

자가 참조 I 표 (표 A) 아래처럼, 내가ORACLE - SQL - 표

INDEX PARENT PARENT_ID 
1  0  0 
1.1 1  1 
1.1.1 1.1 2 
2  0  0 
3  0  0 
3.1 3  5 
3.2 3  5 

같은 방식으로 설정 결과를 만들기 위해 찾고

ID INDEX_ID 
1 1 
2 1.1 
3 1.1.1 
4 2 
5 3 
6 3.1 
7 3.2 

있을 것입니다 몇 가지 중 하나 직접 SQL을 사용하여이 결과 집합을 얻으려면 몇 가지 아이디어를 얻으시겠습니까?

감사합니다, Nandy

답변

1

사용 자체 조인

SELECT t1.INDEX_ID AS INDEX, 
     COALESCE(t2.INDEX_ID, '0'), 
     COALESCE(t2.ID, '0') 
FROM TABLEA t1 
LEFT JOIN TABLEA t2 
    ON t1.INDEX_ID = SUBSTR(t2.INDEX_ID, 1, INSTR(t2.INDEX_ID, '.', -1) - 1)