2016-11-08 18 views
0

テーブルのいずれかがロードされなかったbecouse私の悪い、それはそれが動作、動作しませんでした...2つの異なる結合パスから2つの値を取得するにはどうすればよいですか?

私は別の2加入から2つだけの値を使用してレポート用のテーブルを作成していますよパスと私はそれを行う方法を知らない、次の私は達成しようとしているものの例です。

+--------------------+ 
|  Table1  | 
+--------+-----+-----+ 
| idA | idB | idC | 
+--------+-----+-----+ 

+--------------------+ 
|  Table2  | 
+--------+-----+-----+ 
| idA | idB | idD | 
+--------+-----+-----+ 

+--------------------+ 
|  Table3  | 
+----------+---------+ 
| idD  | value1 | 
+----------+---------+ 

+--------------------+ 
|  Table4  | 
+----------+---------+ 
| idC  | idE | 
+----------+---------+ 

+--------------------+ 
|  Table5  | 
+----------+---------+ 
| idE  | value2 | 
+----------+---------+ 

私はこれをしようとしている2つの値value1とvalue2の

が必要になります。

SELECT Table3.value1, Table5.value2 
    FROM Table1 
    INNER JOIN Table2 ON Table1.idA = Table2.idB 
    AND Table1.idB = Table2.idB 
    INNER JOIN Table3 ON Table2.idD = Table3.idD 
    INNER JOIN Table4 ON Table1.idC = Table4.idC 
    INNER JOIN Table5 ON Table4.idE = Table5.idE 

答えて

0

私はほとんどあなたの終わりに勧めていない。この

SELECT 
    Table3.value1, Table5.value2 
FROM 
    Table1 
JOIN 
    Table2 
ON 
    Table1.idB = Table2.idB 
JOIN 
    Table3 
ON 
    Table2.idD = Table3.idD 
JOIN 
    Table4 
ON 
    Table1.idC = Table4.idC 
JOIN 
    Table5 
ON 
    Table4.idE = Table5.idE 
-- WHERE 
-- Table1.idA = [whatever] -- hardly suggest to filter your query 

をお試しくださいデータをフィルタリングします。この回答はDB Schema Agnosticです。つまり、スキーマの仕組みがわかりませんが、すべてのテーブルで少なくとも一致する行を持つクエリはCOUNTINGです。そうでない場合は、left outerジョインを使用し、null checkingを追加する必要があります。このコンセプトはほぼ同じですが、私はこれをdraggingというIDをどこまで必要としているのかということです。これが意味をなさないことを望みます。また、SQL JOINに関する詳しいドキュメントを入手することをお勧めしません。お役に立てれば。

+0

テーブルのいずれかがロードされていないため、私の悪い、それは動作しませんでした、ITは働いて...答えデビッドエスピーノに感謝! – rodixxi

+0

答えが正しければ...あなたは@rodixxiの投票に気をつけますか? :Dありがとう –

関連する問題