날짜 번호 출력순서 금액구분 금액
2016/01/02 1 1 A 10000
2016/01/02 1 2 B 10000
2016/01/11 2 1 A 20000
2016/02/22 3 1 A 10000
2016/02/23 4 1 B 20000
결과
날짜 번호 금액1 금액2
2016/01/02 1 10000
2016/01/02 1 10000
2016/01/11 2 20000
누계 30000 10000
2016/02/22 3 10000
2016/02/23 4 20000
누계 10000 20000
월별로 누계를 내서 보여주고, 금액구분이 A이면 금액1컬럼에 금액값이 들어가야하고, B이면 금액2컬럼에 금액값이 들어가야합니다...
또한 테이블이 날짜컬럼은 T1테이블에있고.. 나머지는 T2테이블에 있습니다.
그리고 SELECT절에서 GROUP BY절을 하면 다른컬럼을 못가져오는데.. 위에결과에 올린 컬럼 외에 다른 컬럼들도 필요합니다..ㅠㅠ
어떻게 쿼리를 짜면 좋을까요?ㅠㅠ
답변 주시면 감사하겠습니다! ㅠ
WITH t1 (날짜, 번호, 출력순서, 금액구분, 금액) AS ( SELECT '2016/01/02', 1, 1, 'A', 10000 FROM dual UNION ALL SELECT '2016/01/02', 1, 2, 'B', 10000 FROM dual UNION ALL SELECT '2016/01/11', 2, 1, 'A', 20000 FROM dual UNION ALL SELECT '2016/02/22', 3, 1, 'A', 10000 FROM dual UNION ALL SELECT '2016/02/23', 4, 1, 'B', 20000 FROM dual ) , t2 (번호, dept_cd, emp_cd) AS ( SELECT 1, 11, 111 FROM dual UNION ALL SELECT 2, 22, 222 FROM dual UNION ALL SELECT 3, 33, 333 FROM dual UNION ALL SELECT 4, 44, 444 FROM dual ) SELECT SUBSTR(t1.날짜, 1, 7) 년월 , NVL(t1.날짜, '누계') 날짜 , t1.번호 , t1.출력순서 , t2.dept_cd , t2.emp_cd , SUM(DECODE(금액구분, 'A', 금액)) 금액a , SUM(DECODE(금액구분, 'B', 금액)) 금액b FROM t1 , t2 WHERE t1.번호 = t2.번호 GROUP BY SUBSTR(t1.날짜, 1, 7) , ROLLUP((t1.날짜, t1.번호, t1.출력순서, t2.dept_cd, t2.emp_cd)) ;