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 39101 게시물 읽기
No. 39101
계층적데이터 산출!! 도와주세요~~
작성자
박용선
작성일
2011-11-16 11:04ⓒ
2011-11-16 12:50ⓜ
조회수
4,198

계층적구조로 된 데이터를 산출하고 싶은데요!!

굳이 계층적인 구조(Connect by) 쿼리로 산출안해도 됩니다.

사용되는 테이블은 2개 테이블이고, 1:N 구조로 되어있습니다.

         table A                                                      table B
--------------------------------------------------------------------------------
ORDERNUMBER(PK)          ORDERNUMBER(PK)   O_ORDERNUMBER(PK)
--------------------------------------------------------------------------------
      111116FR-013                  111116FR-013                  111114FA-006
      111114FA-006                   111114FA-006                   111017FN-082

 

이런 구조로 되어있습니다.

 

111116FR-013 저놈을 조건절로 주면 111114FA-006, 111017FN-082

 

두개의 레코드를 산출하고 싶은데요!! 문제는 FN이 있을때까지 산출해야 하구요~~

 

inner / outer join을 해도 나오지 않고!! Connect by절을 사용하려니 너무 어렵구요~~

 

어떻게 할 수 있는 방법이 있을까요?? 도와주세요~~

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

WITH T AS
(
SELECT '111116FR-013' ORDNUM,'111114FA-006' O_ORDNUM FROM DUAL UNION ALL
SELECT '111114FA-006' ORDNUM,'111017FN-082' O_ORDNUM FROM DUAL
)
SELECT *
FROM T
START WITH ORDNUM = '111116FR-013'
CONNECT BY PRIOR O_ORDNUM = ORDNUM

A 테이블의 PK와 B테이블의 PK가 무결성조건에 합당하다면 실질적으로 A테이블을 액서스할 필요는 없어서 B테이블만 가지고 구현했습니다.

그리고 계층쿼리의 경우 좀더 상세한 정보를 주지 않는다면 쿼리가 아주 느려질수도 있습니다.

 

D님이 2011-11-16 13:04에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39104조회만 하는 Stored Procedure 작성 예제 좀.. [1]
궁금이
2011-11-16
4649
39103쿼리 속도 개선 좀 부탁합니다. [1]
박진경
2011-11-16
4992
39102어떻게 하면 될까요? [1]
???
2011-11-16
3610
39101계층적데이터 산출!! 도와주세요~~ [1]
박용선
2011-11-16
4198
39100테이블 관련 많이 부끄러운 질문 입니다. [1]
안준용
2011-11-15
4647
39098VARRAY에 대해서 질문 드리겠습니다. [1]
김충현
2011-11-14
3373
39097database vs tablespace [2]
우태열
2011-11-14
4025
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다