현재 테이블에
| IDX | INFO_AT | INFO_NM |
|
1 |
0 | 영 |
| 1 | 1 | 일 |
이런 방식으로 저장되는데
결과값을
INFO_NM0에는 INFO_AT이 0인 데이터의 INFO_NM을
INFO_NM1에는 INFO_AT이 1인 데이터의 INFO_NM을 가져와서
| IDX | INFO_NM0 | INFO_NM1 |
| 1 | 영 | 일 |
이렇게 뽑아내고 싶습니다.
union으로 하려는데 한개의 값으로만 나오고
어떻게 하면 좋을지 감이 안잡혀서 여기에도 질문을 남겨봅니다. ㅠㅠ
아래처럼 max case when ~ 하는 방법이 있습니다.
-- 샘플데이터
with t (idx, info_at, info_nm) as (
select 1, 0, '영' union all
select 1, 1, '일'
)
--
select idx,
max(case when info_at=0 then info_nm end) info_nm0,
max(case when info_at=1 then info_nm end) info_nm1
from t
group by idx
더 간단한 방법이 있었군요 !! 감사합니다 !!