다중조건 where절로 출력된 테이블에 검색기능 추가하기 0 2 699

by YUN [SQL Query] [2020.08.14 11:33:09]


SELECT * from [TABLE]
WHERE ([조건1]=[값1-1] AND [조건2]=[값2-1]) OR ([조건1]=[값1-1] AND [조건2]=[값2-2]) OR ([조건1]=[값1-1] AND [조건2]=[값2-3]) OR ([조건1]=[값1-2] AND [조건2]=[값2-1])

======================================================================================================
이렇게 출력된 값에 검색기능을 넣으려고 합니다 검색항목은 1개일수도 여러개일수도 있는데 where (기존where) and (검색where)로 하면 결과가 0...
기존where절에 있는 항목마다 AND [조건3]=[값1-1]...AND[조건X]=[값X-1]를 추가해주면 원하는 값이 나오긴 하지만 너무 비효율적인것같고 같은 조건에 여러 항목을 검색할 수는 없더라구요.. 혹시나 더 좋은 방법이 있을까요
 

by 마농 [2020.08.14 16:26:22]
-- 조건이 여러개이고 항상 들어오는 필수조건이 있고 선택적으로 입력되는 선택조건이 있겠죠?
 WHERE 1=1
    -- 필수조건 --
   AND c1 = :v_c1
   AND c2 BETWEEN :v_c2_from AND :v_c2_to
    -- 선택조건 --
   AND (:v_c3 IS NULL OR (:v_c3 IS NOT NULL AND c3 = :v_c3))
   AND (:v_c4 IS NULL OR (:v_c4 IS NOT NULL AND c4 > :v_c4))
;

 


by YUN [2020.08.24 14:07:55]

답변 감사합니다! 아직 갈길이 머네요....ㅎㅎㅎㅎ

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입