人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MYSQLの1対多テーブルにおけるSELECT文に関して質問です。

以下のような本テーブルと、レヴューテーブルがあります。
【bookTbl】
bid 連番
title 名前
gaiyo 概要

【reviewTbl】
rid 連番
bid 本の番号
kanso 感想

内容例。
【bookTbl】
1,ゴルゴ13,スナイパーが大活躍。
2,どらえもん,ネコ型ロボットが大活躍。
3,ハンターハンター,ネテロと王の対決の行方。
4,トリコ,グルメハンター「トリコ」の珍道中

【reviewTbl】
1,2,やっぱり王道のまんがはこれですよね!
2,3,念の能力はもう何でもありなのでは?最早どらえもん要らず。
3,1,大人になってから見ると面白い!
4,1,終に宇宙空間まで行っちゃた。
5,2,オレはコロコロ派。
6,1,象牙狩りのハンターを狩る話が好き。

これで、「本タイトル」「本概要」「感想」に対してあいまい検索を掛けたいです。

本タイトルの結果を得れるSQL文を教えてください、宜しくお願いします。
※コメント欄に補足あり。

●質問者: ruijio
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL SELECT SQL あいまい グルメ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●100ポイント ベストアンサー
SELECT DISTINCT title FROM bookTbl WHERE bid IN 
((SELECT bid FROM bookTbl WHERE gaiyo LIKE "%ハンター%")
UNION
(SELECT bid FROM reviewTbl WHERE kanso LIKE "%ハンター%"))

のような感じでどうでしょうか。

◎質問者からの返答

ご回答ありがとうございます。

ごめんなさい、1点大事なところが抜けてました。

「本のタイトル」を取得・・・と書きましたが、抜き出したいのは「bookTbl」の全体の結果です。

SELECT DISTINCT title,no,gaiyo ・・・とやるとうまく取れませんでした。


【追記】

もしかしたら、回答頂いた、「SELECT DISTINCT title」を「SELECT DISTINCT bid」にし、更にbookTbl を取得するselect文を書き、前述の箇所をin()内に入れればいけるかも知れません。試してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ