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 37847 게시물 읽기
No. 37847
CONNECT BY 질문입니다.
작성자
안동석
작성일
2010-08-12 18:01
조회수
3,070

a.BRD_NO,A.BRDWRT_NO ,A.BRDWRT_SEQ  이 3개가 KEY로 되어 있습니다..

근데  A.BRDWRT_SEQ  의 PARENT만 가지고 에 자료를 가지고 있습니다.

 

a.BRD_NO,A.BRDWRT_NO ,A.BRDWRT_SEQ ,A.SUPER_BRDWRT_SEQ

   A                      1                                1                                  0

   A                     1                                2                                  1

   A                      1                                3                                  2

A                      2                                1                                  0

이것을 CONNECT BY로 할려니..

SELECT  LTRIM(SYS_CONNECT_BY_PATH(BRD_NO||':'||A.BRDWRT_NO ||':'||A.BRDWRT_SEQ,'-'),'-') FROM TABLEA

START WITH   A.SUPER_BRDWRT_SEQ  = '0'   CONNECT BY PRIOR   A.BRDWRT_SEQ   =   A.SUPER_BRDWRT_SEQ
 order siblings by a.BRD_NO,A.BRDWRT_NO ,A.BRDWRT_SEQ

결과가 
11:1:1

    11:1:2

        11:1:3

11:2:1

    11:1:2

        11:1:3

이렇게 나옵니다.. 

 

원하는 결과는

11:1:1

    11:1:2

        11:1:3

11:2:1

이렇게 나와야 합니다.

 

조언 부탁드립니다.

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

WITH T AS (
SELECT 'A' BRD_NO,'1' BRDWRT_NO,'1' BRDWRT_SEQ,'0' SUPER_BRDWRT_SEQ FROM DUAL UNION ALL   
SELECT 'A' BRD_NO,'1' BRDWRT_NO,'2' BRDWRT_SEQ,'1' SUPER_BRDWRT_NO FROM DUAL UNION ALL   
SELECT 'A' BRD_NO,'1' BRDWRT_NO,'3' BRDWRT_SEQ,'2' SUPER_BRDWRT_NO FROM DUAL UNION ALL   
SELECT 'A' BRD_NO,'2' BRDWRT_NO,'1' BRDWRT_SEQ,'0' SUPER_BRDWRT_NO FROM DUAL
)
SELECT LEVEL VL
,BRD_NO||':'||BRDWRT_NO||':'||BRDWRT_SEQ
FROM T
START WITH BRDWRT_SEQ='1'
CONNECT BY PRIOR BRDWRT_SEQ=SUPER_BRDWRT_SEQ
AND PRIOR BRDWRT_NO=BRDWRT_NO

꼬랑지님이 2010-08-12 18:17에 작성한 댓글입니다. Edit

 CONNECT BY PRIOR a.brd_no     = a.brd_no
        AND PRIOR a.brdwrt_no  = a.brdwrt_no
        AND PRIOR a.brdwrt_seq = a.super_brdwrt_seq

마농(manon94)님이 2010-08-13 09:21에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
37851Row 생성하기..세번째 [3]
아폴론
2010-08-13
3304
37850Row 생성하기..한번더요.. [3]
아폴론
2010-08-13
2695
37849[질문] DB Link Table 에 Merge 문 사용이 Error 가 발생하네요... [3]
황동연
2010-08-13
5818
37847CONNECT BY 질문입니다. [2]
안동석
2010-08-12
3070
37846Row 생성하기.. [1]
아폴론
2010-08-12
3149
37845rownum과 order by에 대해 답변좀 부탁드립니다. [2]
개발자A
2010-08-12
3129
37844마지막 숫자 제외하고 값 가져오는 함수가 있나요 [2]
심심이
2010-08-12
2674
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다