如果联接的结果为null,则取左值



我的问题是

我有一张带有数据的表1

Num Value
----
1 B
2 С
3 D
4 F
5 G

和另一个表2

Num Value
----
1 K
2 Z
6 D
10 F
15 G

结果我有

Num Value1 Value2
----
1 B K
2 С Z
3 D null
4 F null
5 G null

但是,我应该如何连接表,使其具有默认值而不是null,例如,与左相同

1 B K
2 С Z
3 D D
4 F F
5 G G

我应该用SQL写什么?

我最初尝试像

SELECT t1.Num, t1.Value 
FROM table1 t1 
RIGHT JOIN  table2 t2 ON t1.Num = t2.Num

我想你只想要coalesce():

select t1.num, t1.value as value1,
coalesce(t2.value, t1.value) as value2
from table1 t1 left join
table2 t2
on t1.num = t2.num;

相关内容

  • 没有找到相关文章

最新更新