조건절에 어떻게 써야할지 감이 안잡혀서 질문 올립니다. 입력값 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() 버튼을 클릭하여 작성 하시면 됩니다.