使用TSQL创建搜索查询

时间:2014-04-25 16:06:14

标签: sql tsql

我有一个搜索查询,我需要创建从我的表中提取一些记录。您可以按以下方式搜索4个字段:deliveryDate,dueDate,employee,status

我需要弄清楚如何创建一个搜索结果,其中包含任何一条信息。

是否在where子句中使用OR运算符?

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

1 个答案:

答案 0 :(得分: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 = ''

)