Searched by NAVER

알티베이스강좌  :  큐브리드강좌  :  오라클강좌  :  오라클팁  :  오라클사용자팁  :  Oracle Blogs  :  오라클Q&A  :  오라클자료실  :  IT컬럼/소식  :  좋은글감동  :  방명록
Oracle 질문과 답변 oracleclub.com
하위레벨의 값들을 상위레벨에서 더하는 쿼린데요 너무 오래걸려요.ㅠㅠ 돠주세요
손님 : 2009-09-22 11:59  
분류 : Query 주소복사

SELECT A.DEPT_CODE
     , A.DEPT_VERSION
     , A.DEPT_NAME
     , A.PRIOR_DEPT_CODE
     , NVL(A.INT_PLAN, 0) INT_PLAN_CNT
     , NVL(A.EXT_PLAN, 0) EXT_PLAN_CNT
     , LEVEL
  FROM (SELECT A.DEPT_CODE
             , A.DEPT_VERSION
             , A.DEPT_NAME
             , A.PRIOR_DEPT_CODE
             -- 국내목표
             , (SELECT SUM(INT_PLAN_CNT)
                  FROM TB_APP_PLAN_MGT
                 WHERE DEPT_CODE IN
                       (SELECT DEPT_CODE
                          FROM (SELECT *
                                  FROM TB_ORG_DEPT
                                 WHERE DEPT_VERSION = ’20090921’)
                        CONNECT BY PRIOR DEPT_CODE = PRIOR_DEPT_CODE
                         START WITH DEPT_CODE = A.DEPT_CODE)) INT_PLAN
             -- 해외목표
             , (SELECT SUM(EXT_PLAN_CNT)
                  FROM TB_APP_PLAN_MGT
                 WHERE DEPT_CODE IN
                       (SELECT DEPT_CODE
                          FROM (SELECT *
                                  FROM TB_ORG_DEPT
                                 WHERE DEPT_VERSION = ’20090921’)
                        CONNECT BY PRIOR DEPT_CODE = PRIOR_DEPT_CODE
                         START WITH DEPT_CODE = A.DEPT_CODE)) EXT_PLAN
          FROM TB_ORG_DEPT A
             , TB_APP_PLAN_MGT B
         WHERE B.PLAN_YEAR(+) = ’2009’
           AND B.PLAN_MONTH(+) = ’09’
           AND B.DEPT_CODE(+) = A.DEPT_CODE
           AND B.DEPT_VERSION(+) = A.DEPT_VERSION
           AND A.DEPT_VERSION = ’20090921’
           AND A.USE_YN = ’1’) A
CONNECT BY PRIOR DEPT_CODE = PRIOR_DEPT_CODE
 START WITH PRIOR_DEPT_CODE = ’0’;

 

 

지금 짜논 쿼린데요..

일단 버전에 여러 버전이라 최근날짜버전을 가져와서 CONNECT BY해서

바깥쪽에서 SUM을 하고 다시 CONNECT BY를 했습니다.

이 쿼리도 도움을 받아서 겨우 하위레벨 값이 상위레벨에 더해져서 나오는데

시간이 너무너무 오래 걸리네요 좀 빨리 하는 방법없을까요.ㅠㅠ

초보라 설명이 좀 저렴하네요 양해바랍니다.ㅠ

조회수 1540,  추천수 0
글 등 록 글 답 변 글 수 정 목록보기
※ 로그인하여 작성한 글만 삭제할 수 있습니다. 로그인
이름 쓰기
도움 주시는 곳