• 締切済み

MySQL(4.1)でのサブクエリ結果をLIKE演算子を用いて検索したいです。

漢字名を入力してもらい、personalテーブルを参照して漢字(personal.j_search)からローマ字名(personal.e_search)のレコードから副問い合わせをして、gijirokuテーブルから漢字名を含む行とローマ字を含む行をOR検索したいです。 下記のとおり考えましたが。。。 副問い合わせの結果がLIKE演算子できません。 (和名でのLIKE検索とローマ字名の検索は、できますが、ローマ字名をLIKE検索する方法がわかりません。) 教えてください。 SELECT * FROM gijiroku WHERE gijiroku.title LIKE '%山田太郎%' OR gyouseki.title = ANY (SELECT personal.e_search FROM personal WHERE personal.j_search LIKE '%山田太郎%')

みんなの回答

回答No.2

>>抽出条件は、 続きがちょっと気になる・・・。 MySQLって、結合できたっけ・・・? できるなら以下でいいのかな? SELECT * FROM gijiroku , personal WHERE personal.j_search LIKE '%山田太郎%' AND (INSTR(gijiroku.title, personal.j_search) > 0 OR INSTR(gijiroku.title, personal.e_search) > 0) 今MySQLがないので、自信ない・・・。

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

う~ん、理解力不足か。 やりたい事がよくわからない・・・。 ローマ字のレコードはどのテーブルが持ってるの? その抽出条件として、何を使うの?

john77
質問者

補足

すいません 初心者ななもので。。 ローマ字のレコードは、personalテーブルにあります。 CREATE TABLE `personal` ( `e_search` varchar(255) default NULL, `j_search` varchar(255) default NULL, `id` int(255) NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=sjis; personalのイメージは、下記のとおり。。 e_search,j_search,id Yamada Taro,山田太郎,1 Inoue Taro,井上太郎,2 gijirokuのイメージは、下記のとおりです。 title,id Inoue Taro He can speak English fluently,1 山田太郎 会話の内容。。,2 そこで、SQL文で漢字名を入力すると、 漢字で記述されている議事と英語で記述されている 議事を検索できるようにしたいのです。 抽出条件は、

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

関連するQ&A