오라클 쿼리 질문드립니다.
KIND | QTY_1 | QTY_2 | QTY_3 | QTY_4 |
AA | 7 | 15 | 8 | 20 |
BB | 3 | 25 | 16 | 9 |
CC | 10 | 32 | 19 | 11 |
AB | 6 | 24 | 17 | 13 |
DD | 9 | 4 | 5 | 18 |
CD | 16 | 14 | 9 | 15 |
위 표처럼 데이터가있는데 AA랑 AB랑 묶어서 AA한줄로 표시하고
CC랑 CD랑 묶어서 한줄로 표시해서
아래처럼 표현하려고하는데 잘 생각이나지 않아서요...ㅠㅠ
KIND | QTY_1 | QTY_2 | QTY_3 | QTY_4 |
AA | 13 | 39 | 25 | 33 |
BB | 3 | 25 | 16 | 9 |
CC | 26 | 46 | 28 | 26 |
DD | 9 | 4 | 5 | 18 |
우선 이렇게 생각이 나는데요.. 다른 고려사항이 있다면 수정해야겠네요.
WITH T AS ( SELECT 'AA' KIND, 7 QTY_1, 15 QTY_2, 8 QTY_3, 20 QTY_4 FROM DUAL UNION ALL SELECT 'BB', 3 , 25, 16, 9 FROM DUAL UNION ALL SELECT 'CC', 10, 32, 19, 11 FROM DUAL UNION ALL SELECT 'AB', 6 , 24, 17, 13 FROM DUAL UNION ALL SELECT 'DD', 9 , 4 , 5 , 18 FROM DUAL UNION ALL SELECT 'CD', 16, 14, 9 , 15 FROM DUAL ) SELECT MIN(KIND), SUM(QTY_1), SUM(QTY_2), SUM(QTY_3), SUM(QTY_4) FROM T GROUP BY SUBSTR(KIND,1,1) ORDER BY MIN(KIND)