DataBase
소계와 합계 구하는 방법 (1)
클라인STR
2015. 12. 17. 01:09
TABLE을 4번복제하기위하여 카티젼프로덕트 이용한다.
1
2
3
4
5
6
7 |
SELECT * FROM TEST12 A
,(
SELECT ROWNUM RCNT
FROM TEST12
WHERE ROWNUM < 5
)B;
|
cs |
4개의 복제된 데이터중 RCNT2를 합계용으로 3을 출판사 소계용으로 가공한다.
1
2
3
4
5
6
7
8
9
10 |
SELECT DECODE(RCNT,2,'합 계',3,PRESS||'계',PRESS) "출판사"
, SUM(PRICE)
FROM TEST12 A
,(
SELECT ROWNUM RCNT
FROM TEST12
WHERE ROWNUM < 5
)B
GROUP BY DECODE(RCNT,2,'합 계',3,PRESS||'계',PRESS) ;
|
cs |
책종류에서는 출판사/종류별 계로 사용할 복제번호와 원본데이터로 사용할 복제번호를 지정한다.
1, 출판사종류계 4를 일반데이터로 지정한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
SELECT DECODE(RCNT,2,'합 계',3,PRESS||'계',PRESS) "출판사"
, DECODE(RCNT,1,BOOK_TYPE||' 계',4, BOOK_TYPE) "종류"
, DECODE(RCNT,4,BOOK_NAME) "책명"
, SUM(PRICE)
FROM TEST12 A
,(
SELECT ROWNUM RCNT
FROM TEST12
WHERE ROWNUM < 5
)B
GROUP BY DECODE(RCNT,2,'합 계',3,PRESS||'계',PRESS)
, DECODE(RCNT,1,BOOK_TYPE||' 계',4, BOOK_TYPE)
, DECODE(RCNT,4,BOOK_NAME)
ORDER BY DECODE(RCNT,2,'합 계',3,PRESS||'계',PRESS);
|
cs |