조건절에 대해서 질문드립니다. 0 4 724

by 모레츠 [SQL Query] [2012.09.09 21:19:03]


조건절에 어떻게 써야할지 감이 안잡혀서 질문 올립니다.
입력값 A가 들어올 경우 C라는 칼럼이 0보다 큰것을 가져오고
입력값 B가 들어올경우 입력받은날짜 보다 작은날짜의 데이터만 가져와야합니다.

A이면 C > 0 B이면 20120907이면 20120906 이전 날짜의 데이터만 가져와야하는건데

부탁 드려요..ㅠ

by 오케클릭 [2012.09.09 22:19:08]

쿼리로도 되겠지만...
프로그램단에서 하는게 편하지 않아요?
이런부분까지 쿼리로 하면 좀 쿼리가 안이뻐집니다. ㅡㅡㆀ


by 모레츠 [2012.09.09 22:38:17]

쿼리로 하라고 해서 쿼리로 할수 밖에 없네요 ㅠ

by 마농 [2012.09.10 08:20:21]
-- 1. Or
SELECT *
  FROM 테이블
 WHERE (:입력값 = 'A' AND c > 0)
    OR (:입력값 = 'B' AND 날짜 < :입력날짜)
;
-- 2. Union All
SELECT *
  FROM 테이블
 WHERE :입력값 = 'A'
   AND c > 0
 UNION ALL
SELECT *
  FROM 테이블
 WHERE :입력값 = 'B'
   AND 날짜 < :입력날짜
;

by 모레츠 [2012.09.10 09:47:19]

마농님 감사합니다. WHERE 절에 가로치고 저렇게 쓰면 되는거였네요 ㅎㅎ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입