본문 바로가기

DB/Oracle

필드값을 레코드 값으로 변환

필드값을 레코드 값으로 변환

아래와 같이 T_TEST테이블의 조회되는 데이터가 있다.

seq winner
---- -----
1        Y
1        N
2        Y
2        Y
...
위와 같을 경우 SEQ코드별로 winner의 코드값이 'Y'인 COUNT 값과 'N'인 COUNT 값이 필요할경우 
아래와 같이 한 레코드 형식으로 쿼리를 날려보자.

SELECT    seq, NVL(SUM (DECODE (winner, 'Y', 1)),0) Y,
                NVL(SUM (DECODE (winner, 'N', 1)),0) N
       FROM t_test
     WHERE seq > 0 
GROUP BY seq

결과는 아래와 같다.
SEQ    Y      N
-----   --     --
1         1        1
2         2        0
.....


'DB > Oracle' 카테고리의 다른 글

session 조회 / kill  (0) 2016.02.04
오라클 사전정보 조회  (0) 2016.02.04
중복 데이터 제거(partition by)  (0) 2016.02.04
oracle 랜덤하게 조회  (0) 2016.02.04
ORDER BY 대신에 INDEX 힌트를 사용하자..  (0) 2016.02.04