嗨,我已经打了一个问题,我的SQL查询,我有一个包含3列,一个用于车辆品牌,一个用于模式,一个用于模型版本的表。检查多个列的级联匹配的MySQL
所以我的数据被分割像
BRAND || MODEL || MODEL VERSION
RENAULT || R4 || R4 1.1 GTL
我一直在问的输入与取代我们目前下拉菜单系统,使用户更容易选择他们的车辆。
我正在使用jQuery自动完成,我的查询看起来像这样。
SELECT DISTINCT CONCAT (brand, ' ', model, ' ', version) as data from vehicles WHERE brand LIKE '%Golf%' OR model LIKE '%Golf%' OR version LIKE '%Golf%' LIMIT 5
到目前为止好,这将输出“雷诺R4 R4 1.1 GTL”如果我键入“雷诺” ......这里的问题当用户插入类似雷诺R4,而不仅仅是来“雷诺”
因为他们已经包含在型号名称以及该品牌那么它并没有真正匹配任何我的数据库列和我的Ajax调用返回没有结果的。 我需要从该concat中查询实际结果集,以便用户输入的内容与结果匹配,但我不知道如何执行此操作。
无奈之下,我试图输入where data LIKE '%RENAULT R4%'
,但正如预期的那样,这也行不通......我在这种情况下能做什么?任何帮助,将不胜感激。
@Josef_Kufner全文索引正在恢复一切,如果我对阵雷诺R4返回雷诺的所有实例,而不仅仅是匹配字符串的那些... :( – JonnySerra
匹配,对运营商的回报得分这个行与查询有多相关,你可以按照分数对行进行排序,并首先提供最好的匹配,并且还有更多的选择如何使用全文 - 查看文档并稍微玩一下。 –