类似于MYSQL中具有多个字段和空格的通配符

类似于MYSQL中具有多个字段和空格的通配符,mysql,sql,search,sql-like,Mysql,Sql,Search,Sql Like,我在两个字段中搜索类似的匹配时遇到了一些问题。 例如,我有一个包含以下值的表: CAR MAKE CAR MODEL Ford Mustang (Shelby) Toyota Corolla Seat Leon etc etc. 我希望能够通过搜索以下任意组合获得结果“福特野马(谢尔比)”: 福特 野马 谢尔比 福特野马 或任何其他组合 这可能吗? 我搜索得很好,但很难找到描述我意思的搜索词。试试看: SELECT Car_Make, Car_

我在两个字段中搜索类似的匹配时遇到了一些问题。 例如,我有一个包含以下值的表:

CAR MAKE   CAR MODEL
Ford       Mustang (Shelby)
Toyota     Corolla
Seat       Leon

etc etc.
我希望能够通过搜索以下任意组合获得结果“福特野马(谢尔比)”:

  • 福特

  • 野马

  • 谢尔比

  • 福特野马

    或任何其他组合

这可能吗? 我搜索得很好,但很难找到描述我意思的搜索词。

试试看:

SELECT Car_Make, Car_Model, CONCAT_WS(' ', Car_Make, Car_Model) as Make_Model 
FROM cars 
WHERE CONCAT_WS(' ', Car_Make, Car_Model) LIKE '%Ford Mustang%'
不确定确切的语法,因为我不在家,但类似的东西应该可以工作


另请参见:

在空白处拆分术语,然后为每个术语构建一点SQL,如下所示:

car_make like '%x%' or car_model like '%x%'
select stuff
from cars
where car_make like '%Shelby%'
   or car_model like '%Shelby%'
   or car_make like '%Ford%'
   or car_model like '%Ford%'
然后用
将所有这些连接起来,以获得WHERE子句。因此,对于“Shelby Ford”,您将得到如下SQL:

car_make like '%x%' or car_model like '%x%'
select stuff
from cars
where car_make like '%Shelby%'
   or car_model like '%Shelby%'
   or car_make like '%Ford%'
   or car_model like '%Ford%'

如果您需要更复杂的内容,请调查MySQL的功能。

谢谢,快速尝试了一下,但没有成功。我想当我有机会的时候,我会仔细看一看。它看起来有点复杂,但我认为你对全文搜索的看法是对的,我没有调查过。谢谢你抽出时间来帮助我。