我有一个搜索查询,我需要创建从我的表中提取一些记录。您可以按以下方式搜索4个字段:deliveryDate,dueDate,employee,status
我需要弄清楚如何创建一个搜索结果,其中包含任何一条信息。
是否在where子句中使用OR运算符?
WHERE A.[status] = @statusSearch
OR A.[dueDate] = @dueDateSearch
OR A.[deliveryDate] = @deliverDateSearch
OR A.[empID] = @empSearch
答案 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 = ''
)