아래의 표처럼 값이 들었을때,
구분자 | A | B | C |
가 | Y | Y | |
나 | Y | ||
다 | Y | Y | |
라 | Y | Y | |
마 | Y | ||
바 | Y | ||
사 | Y | ||
아 | Y | Y | |
자 | |||
차 | Y | Y | |
카 | Y | Y | |
타 | Y | ||
파 | Y | Y | Y |
하 | Y |
아래의 표처럼 값이 있는것을 체크하여 1차원 적으로 만들어 주고 싶습니다.
A | 가 |
A | 나 |
A | 다 |
A | 라 |
A | 바 |
A | 아 |
A | 차 |
A | 카 |
A | 타 |
A | 파 |
B | 다 |
B | 라 |
B | 사 |
B | 차 |
B | 파 |
B | 하 |
C | 가 |
C | 마 |
C | 아 |
C | 카 |
C | 파 |
임시테이블을 생성하여 쿼리를 통해 만들어도 좋고 엑셀에서 수식이나 함수를 통해 2차원배열 형태를 1차원적으로 만들 수 있어도 좋습니다.
좋은 방법이 없을까요??
WITH t AS ( SELECT '가'gb, 'Y' a, '' b, 'Y' c FROM dual UNION ALL SELECT '나', 'Y', '' , '' FROM dual UNION ALL SELECT '다', 'Y', 'Y', '' FROM dual UNION ALL SELECT '라', 'Y', 'Y', '' FROM dual UNION ALL SELECT '마', '' , '' , 'Y' FROM dual UNION ALL SELECT '바', 'Y', '' , '' FROM dual UNION ALL SELECT '사', '' , 'Y', '' FROM dual UNION ALL SELECT '아', 'Y', '' , 'Y' FROM dual UNION ALL SELECT '자', '' , '' , '' FROM dual UNION ALL SELECT '차', 'Y', 'Y', '' FROM dual UNION ALL SELECT '카', 'Y', '' , 'Y' FROM dual UNION ALL SELECT '타', 'Y', '' , '' FROM dual UNION ALL SELECT '파', 'Y', 'Y', 'Y' FROM dual UNION ALL SELECT '하', '' , 'Y', '' FROM dual ) SELECT cd, gb FROM t UNPIVOT (v FOR cd IN (a, b, c)) ORDER BY cd, gb ;