2016-11-26 7 views
0

ここに私の最初の質問と私の最初の質問は非常に残念私は何か愚かな質問。 私の問題はMySQLの問題です。 私はT2、T3、T4からIDを維持し、その後、私は T2(t2_idを持ってここで私は、私は4つのテーブル(T1、T2、T3、T4)INNER JOIN 4テーブル

T1(t1_id、external_id)を持っている

を説明しましょう T3(t3_id、名前など) T4(t4_id、名前など)

T1には既にこれらのテーブルのエントリがあります。 T2、T3、T4は共通のものではありませんが、T1はIDを保持しています。

ので、クエリは

**SELECT T1.*, T2.*, T3.*, T4.* 
FROM T1 
INNER JOIN T2 ON T2.t2_id=T1.external_id 
INNER JOIN T3 ON T3.t2_id=T1.external_id 
INNER JOIN T4 ON T4.t2_id=T1.external_id** 

であり、それはnothing.IはLEFTと試してみました表示されませんJOINはありませんが、何も....しかし、私はこの

**SELECT T1.*, T2.* 
FROM T1 
INNER JOIN T2 ON T2.t2_id=T1.external_id** 

をすれば、それは作品やショーデータ。

私の問題を理解していただければ幸いです。 ありがとう!

+0

あなたはこれを試しても何も行かないと言っていますが、それは正しいですか? SELECT T1 *、T2 *、T3 *、T4 * T1左からはT2.t2_id = T1.external_id 左側にT2をJOIN T3.t2_id = T1.external_id 左側にT3をJOIN T4 ON T4をJOIN .t2_id = T1.external_id –

答えて

0

これを試してみてください:私はT3 & T4のIDを変更した

SELECT T1.*, T2.*, T3.*, T4.* 
FROM T1 
INNER JOIN T2 ON T2.t2_id=T1.external_id 
INNER JOIN T3 ON T3.t3_id=T1.external_id 
INNER JOIN T4 ON T4.t4_id=T1.external_id 

注意を、私はt2_idがそれらに存在しないと仮定?

+0

代わりに、INNER JOINをLEFT OUTER JOINに置き換えることができます。これは、T1とIDの関係を持つT2、T3、およびT4からすべての行を取得する必要があります。 – madeniran1000

0

T1の各テーブルIDを保持するカラムが3つあります。

T1(T1_id、T2_id、T3_id、T4_id)

あなたが行うときに、内側はこのようになります参加:

SELECT * FROM T1 
INNER JOIN T2 ON T2.t2_id = T1.t2_id 
INNER JOIN T3 ON T2.t3_id = T1.t3_id 
INNER JOIN T4 ON T2.t4_id = T1.t4_id 
0

私はLEFTを使用回答ありがとうございましたJOINと今それは働いています。しかし、問題はそれが私のデータベースの大文字であり、INNER & LEFTは機能していないということでした。

内部が正しく使用されないため、必ずしもt2、t3、t4のエントリがあるわけではありません。

お時間をいただきありがとうございます。