다중 컬럼 조건 질문 0 2 750

by matrixkdg [SQL Query] [2018.05.10 14:17:59]


뭔가 빠트리고 생각을 하는건지 이부분이 해결이 안납니다.. ㅠ

SELECT COUNT(1)
FROM     AAAA
WHERE DT  >= '20180430000000'
AND      DT <= '20180506235959'
AND      CD2 IN ( '01' ,'02' )

결과 : 148023

SELECT COUNT(1)
FROM     AAAA
WHERE DT  >= '20180430000000'
AND    DT <= '20180506235959'
AND CD2 IN ( '01' ,'02' )
AND  CD1 = '02'
AND  CD2 = '02'
결과 : 81

CD1 : 01 , 02

CD2: 01,02,03 이 들어옵니다.

CD2 => 01 , 02 건중

CD1 : 02 , CD2 : 02 인건을 제외한 건을 가져오고 싶어서

SELECT COUNT(1)
FROM     AAAA
WHERE DT  >= '20180430000000'
AND   DT <= '20180506235959'
AND   CD2 IN ( '01' ,'02' )
AND   ( CD1 <> '02' AND CD2 <> '02' ) 

이런식으로 카운트 해보니  140653 나오네요

생각했던 결과 : 148023 - 81 = 147942

여러방식으로 해봐도 생각같은결과가 안나오네요.. 뭔가 놓치고있는게 있는거같은데...

조언좀 부탁드리겠습니다.

 

 

by 마농 [2018.05.10 15:15:40]
-- CD1 : 02 , CD2 : 02 인건을 제외 를 그대로 조건식으로 표현하면
   AND NOT (cd1 = '02' AND cd2 = '02')
-- 여기서 NOT 을 괄호 안으로 넣으면
   AND (cd1 != '02' OR cd2 != '02')

 


by matrixkdg [2018.05.10 16:40:06]

감사합니다.!!

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