目前我正在处理具有过滤功能的项目。 我的项目是用户可以选择的一些字段。 实施例:状态,创建,推出,日期
情况: - 用户可以根据所提及的字段中的所有字段或任何组合过滤报告。
如果我选择AND条件,那么我需要提供所需的所有条件。如果我选择OR条件,如果选择了多个字段,它将给出一些错误的输出。
任何建议都非常感谢。
答案 0 :(得分:1)
您可以测试传递哪些值以及哪些值不是。假设未传入的值为NULL,请执行以下操作:
Select .....
from ....
where (Status = @Status or @Status is null)
and (Created=@Created or @Created is null)
and (Release = @Release or @Release is null)
and (Date = @Date or @Date is null)
答案 1 :(得分:0)
根据用户可能指定的任何参数的存在,您可以检查并连接其他条件'在您的函数内部并运行最新步骤上的选择。所以,初始选择会像:
select ....
where 1=1
然后通过检查传递的参数,您可以添加: SQL:= SQL ||'和......'