2017-10-11 15 views
1

2つの表を照会でき、最終的に2つの列からすべてを戻すことができます。これは、表が移入されていない場所、DO_TABLEにREFがあり、CO_TABLEにORDER_NOがある場所を確認することです。すべてのREFだから、equalsがデータを返さなくてもすべての行を返す(Oracle SQL)

ためORDER_NOがあるはず、これはすべてのものを返します。

SELECT a.REF, b.ORDER_NO 
FROM DO_TABLE a, CO_TABLE b 
WHERE a.REF=b.ORDER_NO 

結果が

REF   |ORDER_NO 
06191796 |06191796 
06191794 |06191794 
06191678 |06191678 
06191797 |06191797 
06191806 |06191806 

あるしかし、私はORDER_NUMBER ないとき、それはREFを表示したいですしたがって、2番目と4番目のREFにORDER_NOがない場合は、次のようになります。

REF   |ORDER_NO 
06191796 |06191796 
06191794 | 
06191678 |06191678 
06191797 | 
06191806 |06191806 

何か助け、大いに受け取りました! FROM句の

TJ

答えて

1

決して使用コンマ。 常には、適切で明示的なJOIN構文を使用します。そうした場合、外部結合について知ることになります。

SELECT a.REF, b.ORDER_NO 
FROM DO_TABLE a LEFT JOIN 
    CO_TABLE b 
    ON a.REF = b.ORDER_NO; 

Voila!

+0

ありがとう、私の友人!私は今、JOINについて学びます。 –

関連する問題