where 조건에 case when이 가능한가요?
from tb1, tb2
where 조건1 and 조건2 인데
tb1의 필드에 따라 조건1이 줄수도 있고 안 줄수도 있습니다;
조건절에도 Case 문 가능하지요. 다만, Case 문의 Then 절에 오는 것은 값입니다. 조건절이 올 수는 없습니다. 그렇다고 좌절하실 필요는 없구요. 조건을 달리하는 방법은 얼마든지 응용 가능합니다. 요구조건을 상세히 기술해 주시면 도움 드리겠습니다.
test 테이블에는 필드1,필드2,필드3..가 있습니다. where 조건에 변수에 따라 필드1,필드2로 검색을 해야 합니다. 하지만 필드1에 A 라는 데이타가 있으면 필드1에따른 조건이 없어지고 all 검색을 해야 합니다. 필드2도 마찬가지 입니다. A가 들어있으면 필드검색이 안되고 all검색즉 조건절에서 없어져야 합니다. 이해가 되시나요;; 설명을 잘 한건지..
SELECT *
FROM TABLE
WHERE 1 = CASE WHEN 필드1 = :조건1 OR :조건1 = 'A' THEN 1
WHEN 필드2 = :조건2 OR :조건2 = 'A' THEN 1
ELSE 0
END