• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:異なる二つのテーブルの結合について・・・)

異なる二つのテーブルを結合する方法

このQ&Aのポイント
  • AテーブルのAAカラムから$AAAというレコードを抽出しました。
  • 抽出した結果を元に、BテーブルのBBカラムからBBBというレコードを抽出し、結合したいと考えています。
  • 現在、Aテーブルのソースは完成しており、抽出結果を使ってBテーブルを結合する方法を教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

SELECT * FROM B INNER JOIN A ON A.紹介者フィールド=B.BB AND AA = '$AAA' みたいな感じだと思うのだけど、あとはカラムの構成によります

iinnffoo
質問者

補足

有り難う御座います! かしこまりました\(o∩.∩o)/ 参考にさせて頂きます!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

AテーブルとBテーブルを結合する条件が書いてないよね? いまのままだとAテーブルのAAカラムが$AAAのデータを抽出した結果は $AAAなので、結合しなくても SELECT * FROM `B` WHERE BB = '$AAA' でも正解になっちゃうので

iinnffoo
質問者

お礼

すごく簡単に言うとですけど、 1 Aテーブル内の$AAA(ユーザー名)のあるカラムを全部抽出します。 2 ↑抽出した結果、紹介者がいたら紹介者の名前がでるので、その紹介者$BBBを元にさらに user テーブルから抽出し、1と2を結合させると言う事です。 簡単なやり方ありませんか!

iinnffoo
質問者

補足

こんにちは。。。 有り難う御座います。 >>いまのままだとAテーブルのAAカラムが$AAAのデータを抽出した結果は$AAAなので じゃないです。。。 と言うか書き方間違いました。すいません。 質問の内容は取り消し致します。 ↓下に書き直します。 まず、Aテーブルにはカラムが三つあります。 このテーブルはユーザー名と紹介者と登録時間を記録しているカラムです。 まずは、該当のユーザーに紹介者がいるかどうかを確認するために、ユーザー名$AAAを元に、Aテーブルの全カラムを抽出します。(ここまでは出来ています) 紹介者がいた場合は、Aテーブルの抽出結果の中に紹介者名$BBBがあり、その$BBBを元に次は会員情報があるuser テーブルの全カラムを抽出したいと思っています。 分かりづらいですよね。。。 innner join とかじゃないかもしれませんね。。。 「紹介ログテーブル」 $rs=$DB->query("SELECT * FROM `A` WHERE k_id = '$AAA' ↑の抽出結果:$BBBが出たら↓ 「会員情報テーブル」 $rs=$DB->query("SELECT * FROM `user` WHERE BB = '$BBB' を抽出みたいな感じです。 この二つを一緒にしたいです。 二つのテーブルの全カラムを抽出しています。 のAAカラムにある$AAAがあるカラム内のデータを抽出します。