我已经尝试过这个:
update `cmi.sourav_test_bq_mg` b
set b.name=a.name
from `cmi.sourav_test_bq_mg_2` a
where a.id=b.id
但它仅适用于条件匹配的行,而不适用于所有每个数据。我怎样才能更新所有内容?
答案 0 :(得分:0)
使用MERGE
语句
MERGE cmi.sourav_test_bq_mg b
USING cmi.sourav_test_bq_mg_2 a
ON a.id=b.id
WHEN MATCHED THEN UPDATE SET b.name=a.name
WHEN NOT MATCHED THEN
INSERT(id,name) VALUES (id,name)
答案 1 :(得分:0)
如果您指的是 HIVE Insert Overwrite,则可以创建一个多 sql 解决方案,例如
cmi.sourav_test_bq_mg
a select * from cmi.sourav_test_bq_mg_2
[过滤逻辑]