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

MYSQLからデータを取り出したいのですが、下記のようなことは可能でしょうか?

テーブルが2つで、
Aテーブルには、キーワード・カテゴリID
Bテーブルには、本の内容・著者名がある状態で、

Aテーブル
キーワード カテゴリID
1料理 23
2サッカー 5
3将棋 15
4囲碁 14

Bテーブル
内容 著者名
1サッカーでの? 田中太郎
2パスタ料理の紹介 田中花子
3囲碁の定石 白黒太郎
4将棋の基礎 駒田一郎

これらを【特定のキーワードを入力せず】に
サッカーというキーワードでAテーブルの2とBテーブル1を、
料理というキーワードで1と2、
囲碁というキーワードで4と3
将棋というキーワードで3と4を自動的に関連を持たせて
さらに指定したAテーブルのカテゴリIDだけの結果を表示させたいのですが、
このようなことは可能でしょうか?
(BにカテゴリIDをつける方が簡単に思えるのですが、
上記のようなことは可能なのか教えていただきたいと思っています。)

参考となるコード・知識教えていただければ助かります。
よろしくお願いします。

●質問者: at0413
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

一例

# サンプルデータ
CREATE TEMPORARY TABLE A (`キーワード` TEXT, `カテゴリID` INT);
INSERT INTO A VALUES('料理', 23)
 ,('サッカー', 5)
 ,('将棋', 15)
 ,('囲碁', 14)
;
CREATE TEMPORARY TABLE B (`内容` TEXT, `著者名` TEXT);
INSERT INTO B VALUES ('サッカーでの?', '田中太郎')
 ,('パスタ料理の紹介', '田中花子')
 ,('囲碁の定石', '白黒太郎')
 ,('将棋の基礎', '駒田一郎')
;
# 実行文
SELECT A.*, B.*
FROM A
CROSS JOIN B
WHERE A.カテゴリID = 5
 AND B.内容 LIKE concat( '%', A.キーワード, '%' )
;

質問者から

求めていたそのもので、助かりました。
ありがとうございました。


関連質問

●質問をもっと探す●



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