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 38822 게시물 읽기
No. 38822
쿼리 좀 부탁 드립니다.
작성자
초보
작성일
2011-08-25 17:11
조회수
3,835
테이블 A          
NO TOT RANK_1 RANK_2 RANK_3  
A 1 1 0 0  
A1 2 0 1 1  
A11 3 1 1 1  
B 0 0 0 0  
           
테이블 B          
NO PRNT_NO        
A          
A1 A        
A11 A1        
B          
           
출력          
NO TOT RANK_1 RANK_2 RANK_3  
A 6 2 2 2  
A1 5 1 2 2  
A11 3 1 1 1  
B 0 0 0 0  

이런식으로 쿼리 작성하고 싶은데 마음대로 안 되네요..

도움 부탁 드립니다.

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

WITH a AS
(
SELECT 'A' no, 1 tot, 1 rank_1, 0 rank_2, 0 rank_3 FROM dual
UNION ALL SELECT 'A1' , 2, 0, 1, 1 FROM dual
UNION ALL SELECT 'A11', 3, 1, 1, 1 FROM dual
UNION ALL SELECT 'B'  , 0, 0, 0, 0 FROM dual
)
, b AS
(
SELECT 'A' no, '' prnt_no FROM dual
UNION ALL SELECT 'A1' , 'A'  FROM dual
UNION ALL SELECT 'A11', 'A1' FROM dual
UNION ALL SELECT 'B'  , ''   FROM dual
)
SELECT no
     , TO_NUMBER(REGEXP_SUBSTR(s, '[^,]+', 1, 1)) tot
     , TO_NUMBER(REGEXP_SUBSTR(s, '[^,]+', 1, 2)) rank_1
     , TO_NUMBER(REGEXP_SUBSTR(s, '[^,]+', 1, 3)) rank_2
     , TO_NUMBER(REGEXP_SUBSTR(s, '[^,]+', 1, 4)) rank_3
  FROM (SELECT no
             , (SELECT SUM(a.tot)
                       ||','|| SUM(rank_1)
                       ||','|| SUM(rank_2)
                       ||','|| SUM(rank_3)
                  FROM a, b
                 WHERE a.no = b.no
                 START WITH b.no = c.no
                 CONNECT BY PRIOR b.no = b.prnt_no
                ) s
          FROM b c
         START WITH prnt_no IS NULL
         CONNECT BY PRIOR no = prnt_no
        )
;

마농(manon94)님이 2011-08-25 23:16에 작성한 댓글입니다.

마농님 정말 감사합니다.

많이 배우고 있습니다. ^^

초보님이 2011-08-26 10:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
38825특정 유저가 사용하는 테이블스페이스 확인 방법??? [2]
장영권
2011-08-27
4651
38824목록 도움요청 [1]
오라클초보임
2011-08-26
4108
38823비어있는 시간구하는 방법 sql 좀 알려주세요... [3]
김영민
2011-08-25
4747
38822쿼리 좀 부탁 드립니다. [2]
초보
2011-08-25
3835
38820안뇽하세요 질문이 있습니다. (재귀 프로시져) [2]
윤명철
2011-08-25
5287
38819자동백업스크립트입니다.
오라클초보임
2011-08-25
5026
38816검색 속도 문제 입니다. [7]
최진규
2011-08-24
9458
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다