请教一下,我的a表里面有5条数据,b里面10条。a中的2条数据在b中也存在。如何写语句把b中剩下不同的8条记录放入a中去?

0
已邀请:
1

GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2016-05-03 回答

merge into a
using b on(a.id = b.id)
when matched then 
 update set a.name = b.name
when not matched then
 insert values(
 b.name
);
 
注意,主键的使用。
1

- 取是能力,舍是境界 2016-05-03 回答

merge是可以的也可以
insert into a(n1,n2) select n1,n2 from b where id not in(select id from a) 
0

li052468 2016-05-03 回答

可以用merge,关联不到的insert
0

jjzhangfre - 数仓、ETL 2016-05-04 回答

都要关联的   
INSERT INTO  A  
SELECT   
 
FROM B  
WHERE NOT EXISTS (
  SELECT 1FROM A WHERE  A.ID = B.ID 
 
)

要回复问题请先登录注册