한 테이블에 id를 키값으로 여러 행(rows)의 데이터가 저장되어 있는 경우 이를 출력시 한 행(row)에 출력해야할 경우가 있다.
오라클 decode 메소드를 통해 컬럼을 구분하고 이를 max 메소드와 group by절을 통해 한행으로 출력 가능하다.
--테스트 테이블 생성
create table TEST1 (id varchar2(20), type varchar2(20), value number); |
--테스트 데이터 insert
insert into TEST1 values('jti','employeeNum','1234'); |
--입력된 데이터 조회
select * |
--가로로 출력
select id, decode(type,'employeeNum',value) employeeNum, decode(type,'prodCode',value) prodCode, decode(type,'mapCode',value) mapCode, |
--한 행으로 출력: 여러 컬럼으로 구분된 값을 한 행으로 출력
select id, max(decode(type,'employeeNum',value)) employeeNum, max(decode(type,'prodCode',value)) prodCode, max(decode(type,'mapCode',value)) mapCode, |
'Database > Oracle' 카테고리의 다른 글
인덱스가 망가진 정도 조회(rebuild 필요여부 확인) (0) | 2015.02.10 |
---|---|
Tablespace 공간이 부족할때 File 추가하여 증설하기 (0) | 2012.11.21 |
댓글