带有术语研究的SQL请求

时间:2017-01-14 13:27:48

标签: php jquery sql

我目前在搜索栏上工作,根据用户写入文本框的内容(jQuery的自动完成功能)返回每个汽车品牌和汽车模型的组合

我尝试了不同的东西,但是,找不到我需要的东西。

这是我的要求(不工作):

SELECT carBrand_lib, carModel_lib FROM Model AS mo 
INNER JOIN Brand AS br ON br.carBrand_ID = mo.carBrand_ID 
GROUP BY carBrand_lib, carModel_lib 
HAVING (carBrand_lib + carModel_lib) 
LIKE '%".$searchTerm."%' 
ORDER BY carModel_lib ASC LIMIT 10

我做了另一个有效的请求,但只有汽车品牌或模型分开,但找不到两者合并。

SELECT carBrand_lib, carModel_lib FROM Model AS mo 
INNER JOIN Brand AS br ON br.carBrand_ID = mo.carBrand_ID 
WHERE carModel_lib LIKE '%".$searchTerm."%' OR carBrand_lib 
LIKE '%".$searchTerm."%' 
ORDER BY carModel_lib ASC LIMIT 10

我需要的一个例子:

如果用户搜索"保时捷9"例如,它将从数据库返回:"保时捷911"或者包含"保时捷9"的其他内容。

使用" GT"作为研究,数据库将返回"福特GT","日产GTR" ......

如何让我的SQL请求同时在两列中进行研究?

1 个答案:

答案 0 :(得分:0)

问题解决了!我只是使用" CONCAT()"功能

SELECT carBrand_lib, carModel_lib FROM Model AS mo 
INNER JOIN Brand AS br ON br.carBrand_ID = mo.carBrand_ID 
WHERE CONCAT(carBrand_lib, ' ', carModel_lib ) 
LIKE '%".$searchTerm."%' 
ORDER BY carModel_lib ASC LIMIT 10