안녕하세요
검색을 해서 찾아보고 해봐도 잘 안되서 부득이하게 질문을 남깁니다..
row 데이터를 가로로 정렬하는 문제인데요..흠..
AM | BM | CM | DM |
---|---|---|---|
1110 | RM | 001 | 12 |
1110 | RM | 002 | 13 |
1110 | CA | 001 | 12 |
1110 | CA | 002 | 11 |
1120 | RM | 001 | 14 |
1120 | RM | 002 | 14 |
1120 | CA | 001 | 12 |
1120 | CA | 002 | 11 |
위와 같은 데이터를 아래와 같이 조회하려 합니다.
1110 | 1120 | |||
---|---|---|---|---|
RM | 001 | 12 | 001 | 14 |
RM | 002 | 13 | 002 | 14 |
CA | 001 | 12 | 001 | 12 |
CA | 002 | 11 | 002 | 11 |
고수분들의 많은 조언 부탁드립니다..
감사합니다.
WITH t AS ( SELECT '1110' am, 'RM' bm, '001' cm, '12' dm FROM dual UNION ALL SELECT '1110', 'RM', '002', '13' FROM dual UNION ALL SELECT '1110', 'CA', '001', '12' FROM dual UNION ALL SELECT '1110', 'CA', '002', '11' FROM dual UNION ALL SELECT '1120', 'RM', '001', '14' FROM dual UNION ALL SELECT '1120', 'RM', '002', '14' FROM dual UNION ALL SELECT '1120', 'CA', '001', '12' FROM dual UNION ALL SELECT '1120', 'CA', '002', '11' FROM dual ) SELECT bm, cm , MIN(DECODE(am, '1110', dm)) dm_1110 , MIN(DECODE(am, '1120', dm)) dm_1120 FROM t GROUP BY bm, cm ORDER BY bm, cm ;