xml에 IN (${파라미터name:string:in})
콤보박스로 체크된 여러개의 값이 들어가고
이렇게 멀티값을 넣고 조회했는데
여기에 콤보박스를 선택하지 않으면 확인을 안 하게 해서
WHERE 1=1
AND ( ${파라미터name:string:in} IS NULL OR 파라미터컬럼명 IN (${파라미터name:string:in}) )
이렇게 하니까 당연ㅠㅠ 안돼고요...
이럴경우에
콤보박스에 값이 있을 경우 확인여부 파라미터를 만들어
WHERE 1=1
AND ${확인여부name} IS NULL OR IN( (${파라미터name:string:in}) )
이렇게 해야하나요 아니면 다른 방법이 있을까요?
====================================================== 수정
1. 콤보박스에 데이터가 이렇게 들어있습니다.
2. xml 쿼리 파일에는 이렇게 등록했습니다.
SELECT * FROM TABLE WHERE 1=1 AND FRUIT IN ( ${fruit:string:in} ) IS NULL OR FRUIT IN ( ${fruit:string:in} )
위에 있는 사과, 참외, 귤 001, 004, 005 가 파라미터값이 들어가면 이렇게 들어갑니다.
SELECT * FROM TABLE WHERE 1=1 AND FRUIT IN ( 001, 004, 005 ) IS NULL OR FRUIT IN ( 001, 004, 005 )
3. 그러면 실행이 당연 안돼서 현재 이렇게 해놓은 상태 입니다.
SELECT * FROM TABLE WHERE 1=1 AND ${fruit_yn} IS NULL OR FRUIT IN ( ${fruit:string:in} )
다른 파라미터로 받아서 해당 값이 null이 아니면 멀티값으로 받은 값을 체크할 수 있도록 했습니다.