SQL 쿼리 질문드립니다. 0 3 1,320

by 네루네코 [SQL Query] [2010.03.25 14:42:39]


SELECT  COUNT(ROWNUM)
FROM CD_LIST
WHERE  ST = :gth_st OR :gth_st IS NULL
AND    CD_KEY = :gth_cd OR :gth_cd IS NULL
;

라는 쿼리문입니다만... CD_KEY는 NUMBER이고 ST는 VARCHAR입니다.

만일 JSP에서 ST에 '0'값을, CD_KEY는 별도의 입력없이 널값을 보낸다면...
그때 모든 데이터의 카운트를 세야합니다...

그래서 JAVA에서 ST에 0값이 들어갈때는 널로 바꾸도록 if문으로 바꿔놓았는데...
원하는 데이터가 나오지가 않네요... CD_KEY가 NUMBER인데 IS NULL을 써서
그런가요?? ㅠ_ㅠ...

선배님들의 고견을 기다리고 있겠습니다(_ _)
by 마농 [2010.03.25 14:56:08]
WHERE (ST = :gth_st OR :gth_st IS NULL)
AND (cd_key = :gth_cd OR :gth_cd IS NULL)
;

사칙연산에서 1+1*2+2 과 (1+1)*(2+2) 의 결과가 다르듯이
OR 조건이 포함된 경우엔 괄호를 잘 넣어줘야 합니다.

by neruneco [2010.03.25 15:14:09]
감사합니다 마농님^^
아직 원하는 결과는 못얻고 있지만 가르쳐주신 지식
제 살로 만들도록 노력하겠습니다^^

by . [2010.03.26 18:54:34]
where st = :gth_st
and cd_key = :gth_cd
or :gth_st||:gth_cd is null
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입