【问题标题】:SQL Request with Term Research带有术语研究的 SQL 请求
【发布时间】:2017-01-14 13:27:47
【问题描述】:

我目前正在开发一个搜索栏,它根据用户在文本框中输入的内容返回每个汽车品牌和汽车型号的组合(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

我需要的一个例子:

例如,如果用户搜索“Porsche 9”,它将从数据库中返回:“Porsche 911”或其他包含“Porsche 9”的列表。

以“GT”为研究,数据库将返回“Ford GT”、“Nissan GTR”...


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

【问题讨论】:

    标签: php jquery sql


    【解决方案1】:

    问题解决了!我只是使用了“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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多