0

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

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 bag”编写相同的查询时,我在关键字中添加了“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 作为前端。

你能建议我为这种情况提供一些功能或替代方案吗?

提前致谢

4

1 回答 1

0

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

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

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

看我的小提琴演示

资源也在这里

于 2013-07-10T07:59:02.370 回答