从另一个包含空值的表向表中插入数据,并用原始的表1值替换空值

yvgpqqbh  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(405)


我想匹配表的第一列,并将表2的值插入表1。但如果表2的值为空,请保持表1的值不变。我正在使用配置单元来完成此操作。请帮助。

3zwjbxry

3zwjbxry1#

你需要使用 coalesce 获取要填充的非空值 b column 以及 case 决定填充的语句 c column .
例子:

  1. hive> select t1.a,
  2. coalesce(t2.y,t1.b)b,
  3. case when t2.y is null then t1.c
  4. else t2.z
  5. end as c
  6. from table1 t1 left join table2 t2 on t1.a=t2.x;
  7. +----+-----+----+--+
  8. | a | b | c |
  9. +----+-----+----+--+
  10. | a | xx | 5 |
  11. | b | bb | 2 |
  12. | c | zz | 7 |
  13. | d | dd | 4 |
  14. +----+-----+----+--+
展开查看全部

相关问题