来自多个字段的值的SQL语句

时间:2014-04-23 15:23:27

标签: sql ms-access filter

目前我正在处理具有过滤功能的项目。 我的项目是用户可以选择的一些字段。 实施例:状态,创建,推出,日期

情况: - 用户可以根据所提及的字段中的所有字段或任何组合过滤报告。

如果我选择AND条件,那么我需要提供所需的所有条件。如果我选择OR条件,如果选择了多个字段,它将给出一些错误的输出。

任何建议都非常感谢。

2 个答案:

答案 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 ||'和......'