seadwell回答ポイント 200ptウォッチ

php5.2+MySQL5のlike条件に関する質問です。

複数フィールドに複数keyで検索を行う場合、どのような方法が効率がいいでしょうか?
以下テーブルのA_nameでもA_tagでも検索したいのです。
http://okwave.jp/qa/q2634613.html
も見ましたが、『(キー、情報区分、情報)という構成』の意味がわかりません。
複数フィールドで検索しないといけないテーブル設計が悪いということでしょうか?
複数フィールドがいけないのであれば、検索専用のフィールドA_searchを設け『1 白州 サントリー、長野』を作ろうかと思いましたがカッコよくない気がします。
下記コードにアドバイスいただけないでしょうか?
よろしくお願いします。

検索キー
$key1 = "サントリー";
$key2 = "長野";

table_A(pkey A_id)
A_id, A_name, A_Tag
1, 白州, サントリー、長野
2, 山崎, サントリー、大阪
3, 余市, ニッカ、北海道
4, 宮城峡, ニッカ、仙台

select * from table_A where A_name like '%$key1%' and A_name like '%$key2%' and A_Tag like '%$key1%' and A_Tag like '%$key2%'

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2012-03-05 14:59:29
終了日時
2012-03-07 07:24:54
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

サントリー65北海道959仙台176宮城73Key358長野128大阪1835

人気の質問

メニュー

PC版