WITH t AS(
WITH t AS(
SELECT '01'A,NULL b,'asdv'c FROM dual
UNION ALL SELECT '01',NULL,'asdf' FROM dual
UNION ALL SELECT '02','a','asdf' FROM dual
UNION ALL SELECT '02','a','asdf' FROM dual
UNION ALL SELECT '02','a','asdf' FROM dual
UNION ALL SELECT '02',NULL,'asdf' FROM dual
UNION ALL SELECT '02','D','asdf' FROM dual
UNION ALL SELECT '02','D','asdf' FROM dual
UNION ALL SELECT '03','D','asdf' FROM dual
UNION ALL SELECT '03','D','asdf' FROM dual
UNION ALL SELECT '03','D','asdf' FROM dual
UNION ALL SELECT '03','a','asdf' FROM dual
)
SELECT A,B,C FROM t
WHERE A = '01'
AND B!='D';
--위의 결과값중....01 데이터를 검색했을때 NULL이 나오게 할수 있을까요..?
--01 = 2개 결과값 (WHERE 절의 영향을 받지 않음)
--02 = 3개 결과값 (B컬럼데이터가 D가 아니며 NULL이 아닌것)
--03 = 1개 결과값 (B컬럼데이터가 D가 아니며 NULL이 아닌것)
--01인경우 있는데이터 그대로 다 출력
--02,03인경우 (D가 아니며 NULL이 아닌것을 출력)
--고수님들의 조언을 구해봅니다 ㅜㅜ