こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

複数のテーブルからのデータ抽出

こんばんは。お世話になっております。

テーブル(A)
id | no | image
--------------------
1 | みかん| aaa.gif
2 | なし | bbb.gif
3 | いちご| ccc.gif

テーブル(B)
m_id | t_id
----------------
1  |  3
2  |  2
1  |  2

というようなテーブルがあるのですが、テーブルBのm_id、1を検索した際、t_idを抽出、かつそのt_idと同じ番号であるテーブルAのimageをも抽出したいと考えています。
結果としては、以下のような感じ。

3  ccc.gif
2  bbb.gif

$m_id =$_GET["id"];
//途中省略
$sql= "select * FROM B INNER JOIN A ON B.m_id = A.id WHERE m_id = '$m_id'";

としているのですが、テーブルBのt_idは検索されるものの、テーブルAのimageは全てaaa.gifと返ってきてしまいます。
先日、こちらでテーブルの正規化として、データを分散させる考え方をお教え頂き、早速それに習って構成してみたのですが、思うようにデータを抽出出来ずにアドバイスを頂戴したく投函させていただきました。
先のソースで可笑しな点などの忠告や、アドバイスなど頂戴できれば幸いです。宜しくお願い致します。

投稿日時 - 2006-12-21 23:00:15

QNo.2617700

困ってます

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

たんにm_idとt_idをまちがえてません?

×$sql= "select * FROM B INNER JOIN A ON B.m_id = A.id WHERE m_id = '$m_id'";

○$sql= "select * FROM B INNER JOIN A ON B.t_id = A.id WHERE m_id = '$m_id'";

投稿日時 - 2006-12-21 23:48:08

お礼

yambejpさま

こんばんは。お世話になっております。
お恥ずかしいやら有難いやら・・・理解が乏しいことの現れですね。
でもこれで、(大袈裟ですが)新たな教えを頂けたと思います。
早速のご回答を有難う御座いました!感謝しております。

投稿日時 - 2006-12-22 00:22:16

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問