SQL*Plus, 데이터 연결 방법 – Union, Group by
구분 | 당월 | 증감액 | 증감율 |
---|---|---|---|
1월 | 생략 | 생략 | 생략 |
2월 | 생략 | 생략 | 생략 |
3월 | 생략 | 생략 | 생략 |
4월 | 생략 | 생략 | 생략 |
5월 | 생략 | 생략 | 생략 |
6월 | 생략 | 생략 | 생략 |
7월 | 생략 | 생략 | 생략 |
8월 | 생략 | 생략 | 생략 |
9월 | 생략 | 생략 | 생략 |
10월 | 생략 | 생략 | 생략 |
11월 | 생략 | 생략 | 생략 |
12월 | 생략 | 생략 | 생략 |
SELECT rpad(월,2)||'월' 구분 , sum(당월) 당월 , sum(당월 – 전월) 증감액 , sum(decode(당월,0,null, (당월–전월)*100 / 당월)) 증감율 FROM ( SELECT decode(NO, 2, MM+1, MM+0) 월 , nvl(sum(decode(NO,1,AMT)), 0) 당월 , nvl(sum(decode(NO,2,AMT)), 0) 전월 FROM ( SELECT decode(년월, '199612', '00', substr(년월,5,2)) MM , sum(AMT) AMT FROM 매출집계 WHERE 사업장 = '1공장' AND 년월 between '199612' and '199712' /* 13개월 */ GROUP BY decode(년월, '199612', '00', substr(년월,5,2)) /* 작년은 00, 올해는 해당 월 */ ) x, COPY_T y WHERE NO between decode(MM,'00',2,1) and decode(MM,'12',1,2) /** * 00일 때는 2(전월), 아닐 때는 1(당월)이고 12일때는 1(전월), 아닐 때는 2(당월) */ GROUP BY decode(NO, 2, MM+1, MM+0 ) ) GROUP BY 월 ;
원문 출처
Encore – 대용량 데이터베이스