我希望Like运营商执行不同或任何替代方案

时间:2013-07-10 07:20:40

标签: mysql

我正在使用此查询来搜索结果

select #__community_mt_links.id,#__community_cfvalues.link_id
from #__community_mt_links inner join
     #__community_cfvalues on #__community_mt_links.id=#__community_cfvalues.link_id 
where #__community_mt_links.link_name LIKE '%burhani bag%' or
      #__community_mt_links.address LIKE '%burhani bag%' or
      #__community_mt_links.city LIKE '%burhani bag%' or
      #__community_mt_links.state LIKE '%burhani bag%' or
      #__community_mt_links.country LIKE '%burhani bag%' or
      #__community_mt_links.link_desc LIKE '%burhani bag%' or
      #__community_cfvalues.value LIKE '%burhani bag%'

和1000结果将出现在上面的查询中,但当我写相同的查询 关键字“burhani bags”我在关键字中添加's'

select #__community_mt_links.id,#__community_cfvalues.link_id
from #__community_mt_links inner join
     #__community_cfvalues on #__community_mt_links.id=#__community_cfvalues.link_id
where #__community_mt_links.link_name LIKE '%burhani bags%' or
      #__community_mt_links.address LIKE '%burhani bags%' or
      #__community_mt_links.city LIKE '%burhani bags%' or
      #__community_mt_links.state LIKE '%burhani bags%' or
      #__community_mt_links.country LIKE '%burhani bags%' or
      #__community_mt_links.link_desc LIKE '%burhani bags%' or 
      #__community_cfvalues.value LIKE '%burhani bags%'

不会出现任何结果。我可以通过放置外卡字符来解决它,但我需要永久解决任何情况,如上所述。

我的意思是任何包含我的关键字的词。

我使用php作为前端。

你可以为我建议一些功能或替代方案。

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试使用SOUNDS LIKE(或SOUNDEX),例如:

SELECT * 
FROM community_links C
WHERE C.link_name SOUNDS LIKE '%burhani bags%'

这只是与您的实际表格结构相关的简化答案。

查看我的Fiddle Demo

资源here