2014-04-25 3 views
0

테이블에서 일부 레코드를 가져 오기 위해 만드는 검색 쿼리가 있습니다. 납기일, 마감일, 직원, 상태로 검색 할 수있는 4 개의 필드가 있습니다.TSQL을 사용하여 검색 쿼리 만들기

결과에 해당 정보 중 하나가 포함될 검색 방법을 알아야합니다.

where 절에서 OR 연산자를 사용합니까? 입력 매개 변수는 선택 사항 인 경우

WHERE A.[status] = @statusSearch 
    OR A.[dueDate] = @dueDateSearch 
    OR A.[deliveryDate] = @deliverDateSearch 
    OR A.[empID] = @empSearch 
+3

그 쿼리는 괜찮아 보입니다. – anycard

+0

여러 필터 조건을 입력하면 어떻게됩니까? – user2989408

+0

옵션 검색 필드에 입력 한 정보가있는 레코드를 가져 오면됩니다. – SBB

답변

0

는, 당신은 필터

WHERE 

(
A.[status] = @statusSearch 

OR 

@statusSearch = '' 

) 

AND 

(

A.[dueDate] = @dueDateSearch 

OR 

@dueDateSearch = '' 

) 

AND 

( 

A.[deliveryDate] = @deliverDateSearch 

OR 

@deliverDateSearch = '' 

) 

AND 

(

A.[empID] = @empSearch 

OR 

@empSearch = '' 

) 
에 대한 입력을 고려하지 않을 것이다 유효한 데이터가 다른 제공되는 경우에만 검색 입력을 받아 다른 논리를 사용할 필요가
관련 문제