根据要求查询过滤器不正确

时间:2016-01-25 10:36:01

标签: asp.net oracle gridview

我的要求完全取决于QUERY

我正在基于three parameters过滤我的gridview。

  1. Project_name(始终需要)

  2. Date(并非总是)

  3. Vehicle_No(并非总是)

  4. 所以,我的要求是什么,

      

    使用project_name,任何一个都可用于过滤我的gridview。

    目前,我的调试查询适用于任何两个参数。

    以下是我的调试查询: -

    上述查询向我显示了我输入的project_nameDate的确切结果。

    [![Image 1] [1]] [1]

    但是当我添加第三个参数Vehicle_no时,它没有显示那个确切vehicle_no的数据,它仍然显示了我查找2个参数的相同数据。< / p>

    [![Image 2] [2]] [2]

    我正在使用 ORACLE 作为数据库。请帮助

1 个答案:

答案 0 :(得分:1)

尝试以这种方式修改WHERE条件:

WHERE gd.good_type_code(+) = sv.good_type
  AND sv.project_id = '1368'
  AND NVL('26-11-2015',  TO_CHAR (date_in, 'dd-MM-yyyy') ) = TO_CHAR (date_in, 'dd-MM-yyyy')
  AND NVL('0',           vehicle_no                      ) = vehicle_no
  AND sv.delete_flag = 'N'

这样它应该精确匹配3个参数,如果你使用3,或者如果你使用2则完全匹配2,而不给第三个参数赋值。我假设你的vehicle_nodate_in始终是not null

PS:我发现你xxacl_xxgid_user_mst没有加盟条件;好吗?