ORACLE 중복제거 및 조건 0 2 991

by 처니 [PL/SQL] [2017.05.24 17:43:30]


데이터가

컬럼1 , 컬럼2, 컬럼3

TEST1   TEST2   Y

TEST1   TEST2   Y

TEST1   TEST2  N

 

이라고 했을때 컬럼1과 2의 중복을 제거하면서 컬럼3의 값이 하나라도 N이면

 

TEST1  TEST2  N

 

이렇게 나오게 하는 방법좀 알려주세요~

 

by 모래가흙흙 [2017.05.24 20:09:53]
select col1, col2, min(col3) as col3
from ttt
group by col1, col2

 


by 도미노 같은 놈 [2017.05.25 17:49:24]

이런식도 되지 않을까요??ㅋ

WITH TAB AS (
SELECT 'TEST1' COL1, 'TEST2' COL2, 'Y' COL3 FROM DUAL UNION ALL
SELECT 'TEST1' COL1, 'TEST2' COL2, 'Y' COL3 FROM DUAL UNION ALL
SELECT 'TEST1' COL1, 'TEST2' COL2, 'N' COL3 FROM DUAL)
SELECT COL1, COL2, CASE WHEN SUM(DECODE(COL3, 'N', 1, 0)) > 0 THEN 'N' ELSE 'Y' END COL4
FROM TAB
GROUP BY COL1, COL2;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입