| a | b | c |
| aaa | apple | good |
| aaa | banana | bad |
| aaa | banana | good |
| aaa | banana | normal |
| aaa | apple | bad |
예를 들어, 위 같은 테이블이 있다고 할 때, 전체 데이터를 select할 때, b컬럼이 banana일 때는 c컬럼이 good인 값을 select하고 싶은데, 어떻게 해야할지 잘 모르겠습니다...(아래처럼 나오게 하고 싶습니다..)
| a | b | c |
| aaa | apple | good |
| aaa | banana | good |
| aaa | apple | bad |
WITH t AS ( SELECT 'aaa' a, 'apple' b, 'good' c UNION ALL SELECT 'aaa', 'banana', 'bad' UNION ALL SELECT 'aaa', 'banana', 'good' UNION ALL SELECT 'aaa', 'banana', 'normal' UNION ALL SELECT 'aaa', 'apple' , 'bad' ) SELECT * FROM t WHERE ( b != 'banana' OR c = 'good' ) -- WHERE NOT ( b = 'banana' AND c != 'good' ) ;
감사합니다!!