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 39076 게시물 읽기
No. 39076
두개의 테이블을 tree 구조로 표현하기
작성자
박진희
작성일
2011-11-10 13:41ⓒ
2011-11-10 14:07ⓜ
조회수
4,545

 안녕하세요.

 

다음의 두개 테이블을 하나의 TREE로 만들고자 합니다.

 

TABLE A

ID PARENT_ID ORDER

A 0 1

B 0 1

C 0 1

A A1 1

A A2 2

A A3 3

B B1 1

 

TABLE B (TABLEAID가 TABLE A의 ID 이며, ID 값은 TABLE A와는 전혀 상관없음. 최 말단 데이타의 의미만 가짐..)

ID TABLEAID ORDER

A A1 1

B A1 2

C A3 1

 

이렇게 되있을 때 1번을 TREE 로 만드는건 할수 있겠는데, 이걸 B 까지 거는건.. 실력이 짧아서 그런지 잘 안되네요.. ㅠㅠ

 

나오고자 하는 결과는 다음과 같습니다.

 

A

   A1

        A

        B

   A2

   A3

        C

   B1

 

도움 부탁드립니다.

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

TABLE A 의

A A1 1

A A2 2

A A3 3

B B1 1

이 부분이 잘 못 적으신거라면

 A1 A 1

A2 A 2

A3 A 3

B1 B 1   이 맞다면

 

그냥   union all  해서 하시면 되겠는데요?

 

cReAm(catz)님이 2011-11-10 13:45에 작성한 댓글입니다.
이 댓글은 2011-11-10 13:45에 마지막으로 수정되었습니다.

WITH a AS
(
SELECT 'A' id, '0' p_id, 1 ord FROM dual
UNION ALL SELECT 'B' , '0', 1 FROM dual
UNION ALL SELECT 'C' , '0', 1 FROM dual
UNION ALL SELECT 'A1', 'A', 1 FROM dual
UNION ALL SELECT 'A2', 'A', 2 FROM dual
UNION ALL SELECT 'A3', 'A', 3 FROM dual
UNION ALL SELECT 'B1', 'B', 1 FROM dual
)
, b AS
(
SELECT 'A' id, 'A1' p_id, 1 ord FROM dual
UNION ALL SELECT 'B', 'A1', 2 FROM dual
UNION ALL SELECT 'C', 'A3', 1 FROM dual
)
, c AS
(
SELECT id, p_id, ord FROM a
UNION ALL
SELECT '@' || id id, p_id, ord FROM b
)
SELECT LPAD(' ', (LEVEL-1)*2, ' ') || LTRIM(id, '@') id
  FROM c
 START WITH p_id = '0'
 CONNECT BY PRIOR id = p_id
;

마농(manon94)님이 2011-11-11 14:55에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39079index unique scan~~~ [1]
궁금이
2011-11-10
4090
39078계층쿼리 좀 힘드네요!~ [1]
박창민
2011-11-10
5486
39077아우터 조인 해결(?) [1]
황준석
2011-11-10
4097
39076두개의 테이블을 tree 구조로 표현하기 [2]
박진희
2011-11-10
4545
39075숫자 다음에 바로 영문이 붙어 있을 경우에도 대문자료 표기하는 방법은 어떻게 되나요? [1]
최원용
2011-11-10
4141
39074마농님 도와주세요~ [2]
회튠
2011-11-10
4264
39071매장에 연속3일 방문한 고객을 추출하는 쿼리. 가능할까요??
곰두리
2011-11-09
3891
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다