Select 项满足动态 table 提出的要求
Select entries that fulfil requirements laid out by dynamic table
我正在尝试进行关键字搜索,要求满足所有条件才能显示结果。我创建了一种从存储当前搜索所需的所有关键字的字符串创建自定义 table 的方法。
我已经能够使用以下
实现 'or'
dbo.MultipleTextSearchValuesOR - 用于制作关键字的table
select Title from vwIncidentSearchView inner join dbo.MultipleTextSearchValuesOR('Testing|Check') on Title Like id
这很好用,但似乎无法解决 'and'(例如结果必须有 'Testing' 和 'Check')。
如有任何帮助,我们将不胜感激
我已经弄明白了。必须完成的方法是使用交叉应用和将字符串拆分为 table.
的函数
然后条目必须按所有字段分组。最后必须检查它们是否符合所有要求的关键字。
我确实意识到这是一个非常混乱的方法,而且它不是最优化的方法,所以如果其他人有任何提高性能的建议,我们将不胜感激
示例:
declare @where nvarchar(max)
declare @TitleLikeClause nvarchar(max)
declare @Title nvarchar(max)
set @Title = 'Down&Email'
SELECT
Referenceid,
Title
FROM vwIncidentSearchView
cross apply
(select
Data
from Split(@Title, '&') candidate
where
Title Like candidate.Data) t2o group by Referenceid, Title having count(*) = (select max(ID) from Split(@Title, '&'))
我正在尝试进行关键字搜索,要求满足所有条件才能显示结果。我创建了一种从存储当前搜索所需的所有关键字的字符串创建自定义 table 的方法。
我已经能够使用以下
实现 'or'dbo.MultipleTextSearchValuesOR - 用于制作关键字的table
select Title from vwIncidentSearchView inner join dbo.MultipleTextSearchValuesOR('Testing|Check') on Title Like id
这很好用,但似乎无法解决 'and'(例如结果必须有 'Testing' 和 'Check')。
如有任何帮助,我们将不胜感激
我已经弄明白了。必须完成的方法是使用交叉应用和将字符串拆分为 table.
的函数然后条目必须按所有字段分组。最后必须检查它们是否符合所有要求的关键字。
我确实意识到这是一个非常混乱的方法,而且它不是最优化的方法,所以如果其他人有任何提高性能的建议,我们将不胜感激
示例:
declare @where nvarchar(max)
declare @TitleLikeClause nvarchar(max)
declare @Title nvarchar(max)
set @Title = 'Down&Email'
SELECT
Referenceid,
Title
FROM vwIncidentSearchView
cross apply
(select
Data
from Split(@Title, '&') candidate
where
Title Like candidate.Data) t2o group by Referenceid, Title having count(*) = (select max(ID) from Split(@Title, '&'))