2017-02-23 8 views
-1

私は何を達成しようとしていますか、私はオンラインで見つけることができるすべてのコードを試してきましたが、何も動作していないようです。 exampleOracleは複数の条件を持つテーブルを結合します

ここでは、私が使用しようとしているコードのスニペットです。正しいトラックでさえいいですか? PS。そのオラクルDB

SELECT 
 
    q1.x, q1.y, q2.z, ... 
 
FROM 
 
    (SELECT ... FROM ...) q1 
 
    LEFT JOIN 
 
    (SELECT ... FROM ...) q2 
 
     ON q1.column = q2.column

は助けてくれてありがとう!

答えて

0

あなたは一度Table1.NUM1上、一度Table1.NUM2に、二回表2に参加する必要があります。

SELECT 
    t1.A, t1.NUM1, t1.NUM2, t2a.TEXT AS TEXT1, t2b.TEXT AS TEXT2 
FROM 
    Table1 t1 
    INNER JOIN Table2 t2a 
     ON t1.NUM1 = t2a.NUM 
    INNER JOIN Table2 t2b 
     ON t1.NUM2 = t2b.NUM 

表2の行がなくても、そのような場合に表1の行を含めたい場合は、LEFT JOINSを使用することもできます。

表2の2つのインスタンスを識別するためには、別々の別名を付ける必要があります。表1の別名は便宜上のものです。

1

私は深遠な何かが欠けている場合を除き、これはちょうど2つ結合している:

select t1.*, t2a.text as text1, t2a.text as text2 
from t1 join 
    t2 t2a 
    on t2a.num = t1.num1 join 
    t2 t2b 
    on t2b.num = t1.num2; 
関連する問題