안녕하세요. 작업하다 막히면 늘 이곳에서 도움을 구하고 있습니다. 실력이 부족하여 이번에도 도움 요청 드립니다.
1. 원데이타입니다.
상품명 | 색상 | 사이즈 | 구분 | 박스수 | 박스당수량 | 총수량 |
상품1 | 노랑 | S | 백화점 | 1 | 50 | 50 |
상품1 | 노랑 | S | 아울렛 | 2 | 51 | 102 |
상품1 | 노랑 | M | 백화점 | 3 | 51 | 153 |
상품1 | 노랑 | M | 아울렛 | 4 | 51 | 204 |
상품2 | 빨강 | S | 백화점 | 5 | 51 | 255 |
상품2 | 빨강 | S | 백화점 | 6 | 51 | 306 |
상품2 | 빨강 | M | 백화점 | 7 | 51 | 357 |
상품2 | 빨강 | M | 백화점 | 8 | 51 | 408 |
아래와 같이 [상품명, 색상별] 소계 및 총합계를 구하여 같이 보여지게 하고 싶습니다.
상품명 | 색상 | 사이즈 | 구분 | 박스수 | 박스당수량 | 총수량 | |
상품1 | 노랑 | S | 백화점 | 1 | 50 | 50 | |
상품1 | 노랑 | S | 아울렛 | 2 | 51 | 102 | |
상품1 | 노랑 | M | 백화점 | 3 | 51 | 153 | |
상품1 | 노랑 | M | 아울렛 | 4 | 51 | 204 | |
소계 | 10 | 509 | <<상품명, 색상별 소계 | ||||
상품2 | 빨강 | S | 백화점 | 5 | 51 | 255 | |
상품2 | 빨강 | S | 백화점 | 6 | 51 | 306 | |
상품2 | 빨강 | M | 백화점 | 7 | 51 | 357 | |
상품2 | 빨강 | M | 백화점 | 8 | 51 | 408 | |
소계 | 26 | 1326 | <<상품명, 색상별 소계 | ||||
합계 | 36 | 1835 | <<총합계 |
rollup함수를 사용하여 해보려고 몇번 시도 했는데 원하는대로 나오지가 않습니다.
도와주세요~
WITH t (상품명, 색상, 사이즈, 구분, 박스수, 박스당수량, 총수량) AS ( SELECT '상품1', '노랑', 'S', '백화점', 1, 50, 50 FROM dual UNION ALL SELECT '상품1', '노랑', 'S', '아울렛', 2, 51, 102 FROM dual UNION ALL SELECT '상품1', '노랑', 'M', '백화점', 3, 51, 153 FROM dual UNION ALL SELECT '상품1', '노랑', 'M', '아울렛', 4, 51, 204 FROM dual UNION ALL SELECT '상품2', '빨강', 'S', '백화점', 5, 51, 255 FROM dual UNION ALL SELECT '상품2', '빨강', 'S', '백화점', 6, 51, 306 FROM dual UNION ALL SELECT '상품2', '빨강', 'M', '백화점', 7, 51, 357 FROM dual UNION ALL SELECT '상품2', '빨강', 'M', '백화점', 8, 51, 408 FROM dual ) SELECT 상품명, 색상, 사이즈, 구분 , SUM(박스수 ) 박스수 , SUM(박스당수량) 박스당수량 , SUM(총수량 ) 총수량 FROM t GROUP BY ROLLUP((상품명, 색상), (사이즈, 구분)) ;