将多个字段转换为一个短语并对其使用LIKE?

时间:2013-12-23 03:10:18

标签: mysql

我这里有一个非常棘手的问题,

我有一个包含多个字段的表。现在,我的查询中的WHERE子句如下所示:

a.body like '%$v%' 
or a.model like '%$v%'
or a.other like '%$v%'
or s.name like '%$v%'
or w.name like '%$v%'
or b.name like '%$v%'
or p.name like '%$v%'
or c.name like '%$v%'
or o.name like '%$v%'
or cat.name like '%$v%'

所有这些字段都是VARCHAR(255),而$v将是搜索字词...

我想接受此查询并执行更准确的搜索。现在它正在给出不希望的结果。

我只是想知道,我可以将所有这些字段转换为1个大字符串搜索,还是应该为所有字段添加全文索引并对所有这些字段进行匹配?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你试过这个吗?

WHERE CONCAT(a.body,a.model,a.other,s.name,w.name,b.name,p.name,c.name,o.name,cat.name) LIKE "%$v%"