我有一个正在为客户处理的自动完成搜索框。数据库在 SQL Server 中,并且有大量数据。
我已经能够对数据库进行标准的 LIKE 查询,这不是什么大问题,但是客户提出了一些要求。
假设搜索关键字是“伦敦机场”
显示的结果必须具有一定的优先级。以下是优先标准:
- 伦敦和机场作为匹配的结果必须显示在顶部。例如伦敦机场、伦敦主要机场等。
- 伦敦的结果必须遵循,因为它与城市字段匹配。
- 机场将紧随其后,因为它是类别部分。
要求实际上是首先包括英国的结果,但我已经处理好了。
假设这张桌子是
机场名称 | 国家 | 城市| geo_id 等等。
我创建了一个表函数,将关键字拆分为结果表行,然后我完成了类似查询 LIKE '% split_table.result %'
问题甚至是第一个标准,上面的方法是做一个 OR 查询,只显示伦敦和机场的结果......我想在这里做一个 AND 查询,如果我可以使用拆分表函数,我将不胜感激已创建。
我需要一些关于如何设置这些优先级的想法。
我真的需要一些帮助。