2017-05-10 39 views
1

我在查詢多個表中的記錄。記錄存在於schema.table_one中的任何id_value,但可能存在或可能不存在於schema.table_two(或在查詢中加入的其他表)中。僅當記錄存在或返回null時才加入表?

下面的查詢格式正常工作時,有一個在所有查詢的表給定id_val記錄:

SELECT one.value_one, two.value_two 
FROM schema.table_one one LEFT JOIN schema.table_two two 
    ON one.id_value = two.id_value 
    WHERE one.id_value = 'id_val' and two.other_column = 'other_val'; 

如果記錄從table_two刪除或不存在(和/或任何額外加入表),那麼沒有結果返回。

有沒有辦法要麼返回null爲two.value_two如果對於給定id_val沒有記錄在table_two或者如果記錄只存在加入?

與第二臺從 WHEREON

回答

2

移動條件:

SELECT one.value_one, two.value_two 
FROM schema.table_one one 
LEFT JOIN schema.table_two two 
    ON one.id_value = two.id_value 
    AND two.other_column = 'other_val' 
WHERE one.id_value = 'id_val' 
+0

似乎現在很明顯,我得太多了它。謝謝! –

相關問題