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 件の結果が表示されますが、キーワード「ブルハニ バッグ」に対して同じクエリを作成すると、キーワードに「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 に答える