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 39680 게시물 읽기
No. 39680
다단계 조회 쿼리 부탁합니다.
작성자
봄바람(bangul21)
작성일
2012-10-11 13:19ⓒ
2012-10-11 13:33ⓜ
조회수
5,619

디비에 아래와 같은 데이터가 있구요.

CODE  NAME  UP_CODE
----------------------------------
1000   기아      0000
1100   중형      1000
1101   쏘렌토  1100
1102   K5         1100
1200   대형      1000
1201   K9         1200
1202   카니발  1200

원하는 결과는 이겁니다.

기아 - 중형 - 쏘렌토
기아 - 중형 - K5
기아 - 대형 - K9
기아 - 대형 - 카니발

쿼리를 어떻게 짜면 되는지 도움 부탁드립니다.

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

WITH TBL AS(
SELECT '1000' CODE,'기아'   NAME,'0000' UP_CODE FROM DUAL UNION ALL
SELECT '1100' CODE,'중형'   NAME,'1000' UP_CODE FROM DUAL UNION ALL
SELECT '1101' CODE,'쏘렌토' NAME,'1100' UP_CODE FROM DUAL UNION ALL
SELECT '1102' CODE,'K5'     NAME,'1100' UP_CODE FROM DUAL UNION ALL
SELECT '1200' CODE,'대형'   NAME,'1000' UP_CODE FROM DUAL UNION ALL
SELECT '1201' CODE,'K9'     NAME,'1200' UP_CODE FROM DUAL UNION ALL
SELECT '1202' CODE,'카니발' NAME,'1200' UP_CODE FROM DUAL
)

SELECT SUBSTR(CONN_NAME,2) CONN_NAME
FROM (
    SELECT SYS_CONNECT_BY_PATH(NAME,'-') CONN_NAME
          ,CONNECT_BY_ISLEAF ISLEAF
    FROM TBL
    START WITH UP_CODE = '0000'
    CONNECT BY NOCYCLE UP_CODE = PRIOR CODE
    )
WHERE ISLEAF = 1

손님이 2012-10-11 14:42에 작성한 댓글입니다. Edit

정말 감사합니다만,

하나의 열이 아닙니다. - 는 각 열을 구분하기 위해 추가한 건데.. ㅠㅠ

그러니까 기아, 중형, 쏘렌토 이렇게 세개의 컬럼이 나와야 합니다.

다시 부탁드립니다. ^^;;

봄바람(bangul21)님이 2012-10-11 14:51에 작성한 댓글입니다.

SELECT REGEXP_SUBSTR(CONN_NAME,'[^\]+',1,1) NAME_1
      ,REGEXP_SUBSTR(CONN_NAME,'[^\]+',1,2) NAME_2
      ,REGEXP_SUBSTR(CONN_NAME,'[^\]+',1,3) NAME_3
      ,REGEXP_SUBSTR(CONN_NAME,'[^\]+',1,4) NAME_4
FROM (
    SELECT SUBSTR(SYS_CONNECT_BY_PATH(NAME,'\'),2) CONN_NAME
          ,CONNECT_BY_ISLEAF ISLEAF
    FROM TBL
    START WITH UP_CODE = '0000'
    CONNECT BY NOCYCLE UP_CODE = PRIOR CODE
    )
WHERE ISLEAF = 1

손님이 2012-10-11 15:02에 작성한 댓글입니다. Edit

정말로 감사드립니다.

많은 도움이 되었습니다. 꾸벅~~ (__)(^^)

봄바람(bangul21)님이 2012-10-11 15:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39683대용량 인서트시 일부 데이터 누락 [1]
카라
2012-10-12
5089
39682ORA-01843 [2]
해외
2012-10-12
5119
3968110g export to 11g import 방법좀 알려주세요.
조원근
2012-10-11
6752
39680다단계 조회 쿼리 부탁합니다. [4]
봄바람
2012-10-11
5619
39678마농님~ 쿼리좀 도와주세요..ㅠㅠ [2]
껌은요정
2012-10-10
5550
39677오라클 계산 결과 참조 쿼리 문의. [1]
정창혁
2012-10-09
6099
39676오라클 초보입니다. 도움 좀 부탁 드려요 [2]
전기영
2012-10-09
4660
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다