我有table1作为
我有table2作为
我需要用table2值更新table1。两个表中相同的mbr_id记录应替换为table2值。表2中的新mbr_id应该追加到表1中。
预期输出:
我的方法
create table set1 as select * from table2 where mbr_id not in (select mbr_id from table1)
create table set2 as select * from table2 where mbr_id in (select mbr_id from table1)
insert into table1 select * from set1
UPDATE t1
FROM table1 t1,
set2 t2
SET
sales_bucket = t2.sales_bucket,
pro = t2.pro,
Region = t2.Region
where t1.mbr_id = t2.mbr_id
问题是:有没有更好的方法可以一次执行相同的操作?
答案 0 :(得分:0)
MERGE语句将UPDATE和INSERT语句组合为带有两个条件测试子句的单个语句: 匹配时,更新。 未匹配时,插入。 您还可以使用MERGE语句通过指定以下内容来删除行:WHEN MATCHED,DELETE。