요건 : 월별로 종류에 대한 건수의 합, 시간의 합, 용량의 합, 사용자의 합 을 산출하려고 합니다.
고정 항목 : 월은 년에 대한 모든 월로 1월ㅂ투 12월까지 고정입니다.
종류는 기자재, 기상악화, 외물접촉, 일반인과실, 고객파급, 기타로 고정입니다.
항목인 건수, 시간합, 전력함, 사용자합은 고정입니다.
출력레이아웃은 아래와 같습니다.
종류 |
항목 |
1월 |
2월 |
3월 |
4월 |
5월 |
6월 |
7월 |
8월 |
9월 |
10월 |
11월 |
12월 |
기자재 |
건수 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기자재 |
시간합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기자재 |
전력합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기자재 |
사용자합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기상악화 |
건수 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기상악화 |
시간합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기상악화 |
전력합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기상악화 |
사용자합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
외물접촉 |
건수 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
외물접촉 |
시간합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
외물접촉 |
전력합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
외물접촉 |
사용자합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
일반인과실 |
건수 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
일반인과실 |
시간합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
5 |
0 |
0 |
0 |
일반인과실 |
전력합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
18 |
0 |
0 |
0 |
일반인과실 |
사용자합 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
16 |
0 |
0 |
0 |
고객파급 |
건수 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
고객파급 |
시간합 |
50 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
고객파급 |
전력합 |
128 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
고객파급 |
사용자합 |
25 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
기타 |
건수 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
기타 |
시간합 |
0 |
0 |
0 |
0 |
0 |
22 |
0 |
0 |
0 |
0 |
0 |
0 |
기타 |
전력합 |
0 |
0 |
0 |
0 |
0 |
86 |
0 |
0 |
0 |
0 |
0 |
0 |
기타 |
사용자합 |
0 |
0 |
0 |
0 |
0 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
샘플 데이터는
WITH TAB AS
(
SELECT '2012-01-01' DT, '고객파급' CUSNM, 1 CNT1, 50 TIM, 128 CAP, 25 USERCNT FROM DUAL UNION ALL
SELECT '2012-06-02' DT, '기타' CUSNM, 1 CNT1, 12 TIM, 80 CAP, 5 USERCNT FROM DUAL UNION ALL
SELECT '2012-06-15' DT, '기타' CUSNM, 1 CNT1, 10 TIM, 6 CAP, 2 USERCNT FROM DUAL UNION ALL
SELECT '2012-09-02' DT, '일반인과실' CUSNM, 1 CNT1, 5 TIM, 18 CAP, 16 USERCNT FROM DUAL
), AAAA AS
(
SELECT '기자재' CUSNM FROM DUAL UNION ALL
SELECT '기상악화' CUSNM FROM DUAL UNION ALL
SELECT '외물접촉' CUSNM FROM DUAL UNION ALL
SELECT '일반인과실' CUSNM FROM DUAL UNION ALL
SELECT '고객파급' CUSNM FROM DUAL UNION ALL
SELECT '기타' CUSNM FROM DUAL
)
MAX(DECODE()) 를 이용해 월은 설정은 했으나
종류가 모두 나온상태에서 건수, 시간(분)합, 전력합, 사용자합이 나와야 합니다.
두가지를 합치는 부분이 안됩니다.
이곳에 고수님들의 조언을 봐도 2가지를 붙이는 건 한계가 있어서 이렇게 조언을 구하고자 합니다
많은 댓글이 달렸으면 좋겠습니다.
부탁드립니다. |