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 37866 게시물 읽기
No. 37866
계층 구조에서 CONNECT BY PRIOR 조건 추가 가능한가요?
작성자
차이
작성일
2010-08-17 17:45ⓒ
2010-08-17 17:48ⓜ
조회수
3,793

계층 구조에서
다음과 같이 구분자( comp_id ) 를 두고 여러개의 계층이 존재 합니다.

select c.*, SUBSTR(SYS_CONNECT_BY_PATH(c.cp_name||'('||cp_code||')', '>'), 2) catedir
from  cate_table c
where cp_code='0824'
START WITH c.cp_code = SUBSTR(c.cp_code, 1, 2)    
CONNECT BY PRIOR  c.cp_code = SUBSTR(c.cp_code, 1, LENGTH(c.cp_code)-2)


CP_P_CODE ,COMP_ID ,CP_CODE, CATEDIR

08 ,2DDB, 0824 ,문화생활(08)>해수욕장(0824)
08 ,2DDB, 0824 ,음식료서비스(08)>해수욕장(0824)


위 결과 값으로 나온 값입니다 

또 아래 퀘리문과 결과 값을 보면 comp_id 로 카테고리를 구분 하는데
즉 부모 코드 cp_p_code 값이 comp_id 갯수 만큼 나올수 있다는 것이죠.

원하는 결과 값은 같은 comp_id 부모 코드값만 뽑아 내려 합니다.


select * from cate_table where cp_code='08'

 
CP_SEQ CP_CODE CP_P_CODE CP_NAME COMP_ID

571 08 1 문화생활 xxxx
1656 08 2 음식료서비스 bbbb


select * from cate_table where cp_code='0824'

CP_SEQ CP_CODE CP_P_CODE CP_NAME COMP_ID 
 0824 08 해수욕장 xxxx

 

즉 위에서  code 0824 결과 값으로 comp_id 값이  xxxx 인 데이타만 

CP_P_CODE COMP_ID  CP_CODE  CATEDIR
08  2DDB  0824  문화생활(08)>해수욕장(0824)   


값만 뽑아내는 퀘리문은 어떻게 만들어야 하나요.

 

START WITH c.cp_code = SUBSTR(c.cp_code, 1, 2)    
CONNECT BY PRIOR  c.cp_code = SUBSTR(c.cp_code, 1, LENGTH(c.cp_code)-2)
and comp_id =comp_id   <<< 이런식으론  안되더라구요 ㅡ,.ㅡ;;

 

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

SELECT *
  FROM cate_table c
 START WITH LENGTH(c.cp_code) = 2
 CONNECT BY PRIOR comp_id = comp_id
 AND PRIOR c.cp_code = SUBSTR(c.cp_code, 1, LENGTH(c.cp_code)-2)
;

마농(manon94)님이 2010-08-17 18:27에 작성한 댓글입니다.

마농님 감사 합니다 .

언제나 좋은 답글 보면서 많이 배우고 있습니다.

배우기 보다 참조복사 ^___^ 

아마 나와 같이 많은 개발자들이 도움 받고 있을듯 하네요  감사 감사 ^^

차이님이 2010-08-18 11:10에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
37869데이터 값 비교 문의 드립니다. [2]
navidc
2010-08-18
2846
37868세로 데이터의 가로 표시 질문드립니다.. [2]
한수진
2010-08-18
3723
37867도움을 요청해요.. (ㅜㅡ) [6]
이상영
2010-08-17
3230
37866계층 구조에서 CONNECT BY PRIOR 조건 추가 가능한가요? [2]
차이
2010-08-17
3793
37865쿼리 random 추출 기능 질문드립니다. [13]
빛을타고
2010-08-17
4497
37864alert log에 Resource Manager 몬가요???
황푸리엔
2010-08-17
2723
37863한 컬럼에 다중 제약조건 가능한가요? [1]
j1y3
2010-08-17
2923
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다