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 35018 게시물 읽기
No. 35018
계층형 쿼리 관련 질문입니다 ㅠ
작성자
nethia
작성일
2008-12-24 09:28
조회수
4,078

특정 CODE값을 통해 연관된 상위계정들을 모두 select 해올려고 합니다.


SELECT LEVEL,LPAD(' ',LEVEL*3,' ')||CODE, PARENT_CODE, NAME

 FROM ACCOUNT

 START WITH PARENT_CODE IS NULL

 CONNECT BY PRIOR CODE=PARENT_CODE

 ORDER BY CODE;


위의 계층형 쿼리를 실행시켰을때 모든 데이터를 계층형으로 가지고 오게됩니다.

그런데 특정CODE값과 관련된 데이터만 가지고 올려고할때 CODE값으로  WHERE CODE IN ( 20,30 ) 값을 추가하면 CODE 20,30인 row들만 가져오게 되는데 상위계정인 CODE 10번 row도 같이 가져오려면 어떻게 해야할까요? ㅠㅠ



 LEVEL           CODE   PARENT_CODE         NAME

----------------------------------------------------

    1                 10                 NULL              PARK

    2                 20                 10                   KIM

    3                 30                 20                   LEE 

이 글에 대한 댓글이 총 2건 있습니다.
Select
 Level lv,
 a.CODE ,
 a.PARENT_CODE ,
 a.NAME
From
 (
  select
   Distinct
   a.CODE ,
   a.PARENT_CODE ,
   a.NAME
  from ACCOUNT a
  Start With a.CODE in ('20','30')
  Connect By Prior a.PARENT_CODE = a.CODE
 ) a
Start With a.PARENT_CODE is null
connect By
 prior a.CODE = a.PARENT_CODE
 

원하시는 것이 이거 맞나 모르겠네요...
인라인 뷰는 역전개로 특정 노드의 부모노드를 계층적으로 검색하는 것이고
바깥쪽은 그 결과를 가지고 다시 정전개 트리를 구성하는 것입니다.
김흥수(protokhs)님이 2008-12-24 09:45에 작성한 댓글입니다.

원하는 답변이었습니다. 감사합니다^^

nethia님이 2008-12-26 16:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
35023새로운 그룹 번호 매기기.. [2]
김명현
2008-12-27
3183
35020서버와 클라이언트를 구분하여 접속하는 방법을 모르겠습니다. [3]
윤철민
2008-12-24
2592
35019복구시 archive만가지고 롤백처럼 복구할수있다?없다? [3]
2008-12-24
2555
35018계층형 쿼리 관련 질문입니다 ㅠ [2]
nethia
2008-12-24
4078
35017TG4MSQL 설치 후 TNS에러!!! [2]
유성준
2008-12-24
3848
35016ora-12535 오류가 뜹니다. [1]
김진규
2008-12-24
3734
35015nologging 변경 [2]
정태환
2008-12-23
4860
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다