WHERE 절 안에 CASE 문 질문 드립니다. 0 2 12,638

by 소민호 [SQL Query] ORACLE CASE WHERE WHEN [2014.01.20 14:18:37]


안녕하세요! WHERE 절 내부에서 CASE문을 쓰는 것에 대해 질문이 있습니다.

ex)
SELECT, FROM 절 생략

WHERE
    DATE = '20140120'
        
        LOCDATA = 
           CASE
             WHEN :ARG_LOCDATA = '1' THEN '1'
             WHEN :ARG_LOCDATA = '2' THEN '2'
             WHEN :ARG_LOCDATA = 'A' THEN ?????
            END;
 
붉게 칠한 부분에서 ARG_LOCDATA가 'A'일 경우 1,2 에 대한 조건을 모두 뽑아 주고 싶은데.. 어떻게 해야 할지 모르겠습니다...

CASE WHEN 말고 다른 방법이 있을까요????
by 용근님 [2014.01.20 14:51:02]
WHERE DATE = '20140120'
  AND ( ( :ARG_LOCDATA IN ( '1', '2' ) AND LOCDATA  = :ARG_LOCDATA )
     OR ( :ARG_LOCDATA  = 'A'          AND LOCDATA IN ( '1', '2' ) )
      )

by 소민호 [2014.01.20 15:21:26]
정말 감사합니다. 바로 해결 했습니다^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입