Sql 基于不同条件的结果优先级搜索
我有一个自动完成的搜索框,我正在为客户工作。数据库在SQL Server中,有大量数据 我已经能够对数据库进行类似标准的查询,这不是什么大问题,但客户机提出了一些要求 假设搜索关键字是“伦敦机场” 显示的结果必须具有一定的优先级。以下是优先标准:Sql 基于不同条件的结果优先级搜索,sql,sql-server,Sql,Sql Server,我有一个自动完成的搜索框,我正在为客户工作。数据库在SQL Server中,有大量数据 我已经能够对数据库进行类似标准的查询,这不是什么大问题,但客户机提出了一些要求 假设搜索关键字是“伦敦机场” 显示的结果必须具有一定的优先级。以下是优先标准: 伦敦和机场的比赛结果必须显示在榜首。e、 g.伦敦机场、伦敦主机场等 伦敦的结果必须紧随其后,因为它与城市领域相匹配 机场将紧随其后,因为它是分类的一部分 实际上,要求首先包括英国的结果,但我已经注意到了这一点 假设这张桌子是空的 机场名称、国家、城市
我真的需要一些帮助。一个行动计划是构建单独的结果集并将它们合并在一起
select Id, Name
from
(
Select Id, Name, 1 as SearchRank from tables where (primary filter)
union
Select Id, Name, 2 as SearchRank from tables where (secondary filter)
union
Select Id, Name, 3 as SearchRank from tables where (tertiary filter)
) results
group by Id, Name
order by Min(SearchRank)
希望这对您使用sql server有所帮助
我不能使用全文搜索,因为数据库没有全文索引,而且我们已经深入到开发阶段。