database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40535 게시물 읽기
No. 40535
connct by 상위 연결 문제
작성자
마당쇠(jepyros1)
작성일
2014-07-23 09:55
조회수
8,077

connect by로 data를 엮으어서 아래와 같이 된 DATA를

그 아래 DATA처럼 SELECT를 만들수 있는 방법이 있나요?

고수님들 부탁드립니다.

PATH VALEU
-1 A
--2 B
---3 C
----4 D
-----5 E
------6 F
----4 D1
-----5 E1
------6 F1

 

PATH VALEU
-1 A
--2 B
---3 C
----4 D
-----5 E
------6 F
-1 A
--2 B
---3 C
----4 D1
-----5 E1
------6 F1

 

이 글에 대한 댓글이 총 1건 있습니다.

WITH t AS
(
SELECT 'A' cd, '' pcd FROM dual
UNION ALL SELECT 'B' , 'A'  FROM dual
UNION ALL SELECT 'C' , 'B'  FROM dual
UNION ALL SELECT 'D' , 'C'  FROM dual
UNION ALL SELECT 'E' , 'D'  FROM dual
UNION ALL SELECT 'F' , 'E'  FROM dual
UNION ALL SELECT 'D1', 'C'  FROM dual
UNION ALL SELECT 'E1', 'D1' FROM dual
UNION ALL SELECT 'F1', 'E1' FROM dual
)
SELECT LPAD('-', lv, '-')||lv path
     , cd
  FROM (-- 0. 개층 구조 전개
        SELECT cd, pcd
             , LEVEL lv
             , CONNECT_BY_ISLEAF lf
          FROM t
         START WITH pcd IS NULL
         CONNECT BY PRIOR cd = pcd
        )
 START WITH lf = 1               -- 1. Leaf Node 로부터
 CONNECT BY cd = PRIOR pcd       -- 2. 계층 역 전개 후
 ORDER BY CONNECT_BY_ROOT cd, lv -- 3. 재정렬
;

마농(manon94)님이 2014-07-23 10:55에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40538PL/SQL 질문입니다.
김우빈
2014-07-24
7075
40537PL/SQL 질문 있습니다. [4]
신종민
2014-07-23
7228
40536쿼리 문의 드립니다. [1]
정기훈
2014-07-23
7521
40535connct by 상위 연결 문제 [1]
마당쇠
2014-07-23
8077
40534중복된 건 조회시 특정조건은 제외하고 한건만 조회하는법 [1]
김승유
2014-07-22
7514
40533표준편차 쿼리 관련 질문 [6]
quest
2014-07-22
9571
40532서버에 win7pro 설치하고 오라클 사용하면...
임철수
2014-07-21
7531
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다