• ベストアンサー

select文、部分一致で複数のキーワードを使う

以下の環境で運用しています。 MySQL 5.0.45  PHP 5.1.6 完全一致でしたら、in ('キー1','キー2') でよいと思うのですが 部分一致で、キーワードを複数設定する方法が分かりません。 以下の文でいいかと思いましたが、`flg1` が0で無いものも表示します。 ※or の使い方が間違っているのだと思います select * from `meibo` where `flg1`= '0' `jyuusyo` like '%東京%' or `jyuusyo` like '%大阪%' よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 1:select * from `meibo` where `flg1`= '0' and `jyuusyo` like '%東京%' or `jyuusyo` like '%大阪%' (多分and入ってますよね?) 2:select * from meibo where flg1='0' and (jyuusyo like '%東京%' or jyuusyo like '%大阪%'); flg1が0でjyuusyoが東京か大阪を含むという条件の場合 かっこでorをくくってあげないと正しいデータの取得が出来ません。 andが優先されるため、flg='0'でjyuusyoに東京を含むまたはjyuusyoに大阪を含むものを取ってきています。 なのでjyuusyoに大阪を含めば取得してしまうことになります。 jyuusyoに東京または大阪かつflg1が0のデータを取得するをSQLにすると2のSQLになります。

kiyomidesuyo
質問者

お礼

こんにちは! ありがとうございました。 >2:select * from meibo where flg1='0' and (jyuusyo like '%東京%' or jyuusyo like '%大阪%'); >「かっこでorをくくって」  この様に使えばいいんですね。 おかげ様で期待通りの検索結果が出ました。 回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A