如何在保持其他值不变的情况下使用第二个表连接/填充空值?

gzszwxb4  于 2022-10-15  发布在  其他
关注(0)|答案(1)|浏览(121)

如何使用表B中的值填充表A中的空值,同时保持所有其他列/行不变?
表A
名称|Department|作业
-|-|
Jon||分析师
Mary||主管
Lucy||精算师
Mark|零售|经理
Cindy|零售额|销售额
表B
名称|Department|作业
-|-|
Jon|hr|空
Mary|hr|空
Lucy|Finance|空
由于必须选择在最终表中显示哪些列,因此尝试使用联接的结果不正确。例如:

SELECT a.name, b.dept, a.job
FROM table_a AS a
LEFT JOIN table_b AS b
ON a.name=b.name

将会出现
名称|Department|作业
-|-|
Jon|hr|分析师
Mary|hr|主管
Lucy|财务|精算师
Mark||经理
Cindy||销售额
我尝试过不同类型的连接,但似乎无法理解。提前谢谢!

lh80um4z

lh80um4z1#

使用COALESCE()组合两个可能为空的值。
例如:

SELECT a.name,
  coalesce(a.dept, b.dept) as dept, 
  coalesce(a.job, b.job) as job
FROM table_a AS a
LEFT JOIN table_b AS b
ON a.name=b.name

相关问题