【问题标题】:Return all values or search query返回所有值或搜索查询
【发布时间】:2015-06-01 19:47:01
【问题描述】:

我有一个报告网站,其中有数百个输出数据的存储过程。我需要为此添加搜索功能,我可以通过添加以下 HAVING 子句来做到这一点:

HAVING @Search in (FirstName, LastName, CAST(EmployeeID as nvarchar(25))

现在,唯一的问题是我似乎无法找到一种方法来返回包含该包含子句的所有内容。因此,初始报告没有按预期显示任何内容,因为我现在没有任何逻辑可以显示所有内容。我在想也许一个 case 语句与这个有子句相结合可能是要走的路,但我似乎无法像我需要的那样得到任何类型的 case 语句来处理这个问题。有什么想法吗?还是我只需要使用两个单独的存储过程,一个用于显示所有内容,一个用于搜索。

【问题讨论】:

  • HAVING 通常用于根据聚合结果进行过滤 - WHERE 子句会起作用吗?传递到@Search 的内容是什么?
  • @DStanley - @Search 变量是最终用户在文本框中输入的任何文本。

标签: sql sql-server-2008 stored-procedures


【解决方案1】:

如果您控制查询,则可以执行以下操作:

HAVING @Search IS NULL OR
       @Search in (FirstName, LastName, CAST(EmployeeID as nvarchar(25))

【讨论】:

  • 正是我需要的。谢谢!
猜你喜欢
  • 2017-01-21
  • 2014-07-10
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 2020-07-24
  • 2013-05-15
  • 2021-02-28
  • 2019-10-11
相关资源
最近更新 更多