Select A.PRG_CODE
, A.PRG_DATE
, NVL(B.PLAN_PRG_RATE, 0) PLAN_PRG_RATE
, SUM(B.PLAN_PRG_RATE) OVER(ORDER BY A.PRG_CODE, A.PRG_DATE) PLAN_SUM_RATE
From (
SELECT PRG_CODE, ADD_MONTHS(SDate, LEVEL - 1) PRG_DATE
FROM (SELECT PRG_CODE
, MIN(PRG_DATE) SDate
, MAX(PRG_DATE) EDate
FROM STREALQT_S
--Where PRG_CODE = 'T-001-006-001-003-001-003'
Group By PRG_CODE
)
CONNECT BY LEVEL <= MONTHS_BETWEEN(EDate, SDate) + 1
) A
, (
SELECT PRG_CODE, PRG_DATE
, PLAN_SUM_RATE - LAG(PLAN_SUM_RATE, 1, 0) OVER(ORDER BY PRG_CODE, PRG_DATE) PLAN_PRG_RATE
, PLAN_SUM_RATE
FROM STREALQT_S
--Where PRG_CODE = 'T-001-006-001-003-001-003'
) B
Where A.PRG_CODE = B.PRG_CODE
And A.PRG_DATE = B.PRG_DATE(+)
도움을 받아 쿼리 작성을 했는데
시간이 너무 오래걸립니다.
2010-01-01 |
10 |
10 |
2010-02-01 |
20 |
30 |
2010-05-01 |
10 |
40 |
2010-06-01 |
30 |
70 |
2010-08-01 |
30 |
100 |
이테이블에 코드만 추가 된것인데 몇분이 지나도 답이 안나옵니다.
조인이 문제 인지... 테이블 하나두개 정도는 더 조인을 해야 하는데..
부탁드립니다. |