2017-10-11 88 views
1

我希望能夠查詢2個表,並最終返回2列中的所有內容,即使沒有參數匹配時也是如此。這是爲了檢查表未填充的位置,DO_TABLE具有REF,並且CO_TABLE具有ORDER_NO。應該有一個ORDER_NO爲每REF即使等於不返回數據時,也返回所有行(Oracle SQL)

所以,這一切都返回:

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 

但我想它顯示REF時ORDER_NUMBER 有,所以如果第二個和第四個REF沒有ORDER_NO,它看起來像:

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

任何幫助,大大收到!

TJ

回答

1

切勿將FROM子句中使用逗號。 始終使用使用正確的,明確的JOIN語法。如果你這樣做,你會知道外部連接:

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

瞧!

+0

謝謝我的朋友!我現在要去了解JOIN。 –

相關問題