2017-05-10 37 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

似乎现在很明显,我得太多了它。谢谢! –

相关问题