가츠동
505
2019-06-20 21:54:20
1
329

데이터베이스 질문입니다ㅣ.


현제 mssql을 쓰고있는 신입 1개월차입니다.

검색을 구현하고있는데요


전체 or 사용자이름 or 사용자 아이디  중 1 선택  |   검색 키워드 로하여

WHERE USER_TP = 'USER'
  AND  CASE WHEN  @SELECTED_VALUE = 'userNm' THEN B.USER_NM ELSE ''END
  LIKE CASE WHEN @SELECTED_VALUE = 'userNm' THEN '%' +@SEARCHTEXT + '%' ELSE '' END
  AND  CASE WHEN  @SELECTED_VALUE = 'userLoginId' THEN A.USER_LOGIN_ID ELSE ''END
  LIKE CASE WHEN @SELECTED_VALUE = 'userLoginId' THEN '%' +@SEARCHTEXT + '%' ELSE '' END

  AND  (CASE WHEN  @SELECTED_VALUE = 'all' THEN B.USER_NM  ELSE ''END
  LIKE CASE WHEN @SELECTED_VALUE = 'all' THEN '%' +@SEARCHTEXT + '%' ELSE '' END
  OR
  CASE WHEN  @SELECTED_VALUE = 'all' THEN A.USER_LOGIN_ID ELSE ''END
  LIKE CASE WHEN @SELECTED_VALUE = 'all' THEN '%' +@SEARCHTEXT + '%' ELSE '' END

이렇게 쿼리를 짰습니다..그런데.....

전체 or 사용자이름 or 사용자 아이디  중 1 선택  |   검색 키워드 |     조건1 or 조건2 or 조건3 

이렇게 되었습니다..... 파라미터 3개로 하려고하니 막막한데요....

고수님들 어떻게 해야하나요?



0
  • 답변 1

  • 르매
    560
    2019-06-21 10:16:54

    조건 별로 동적 쿼리를 만들어서 sp_executesql 로 실행하세요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.