我想只插入B中的行,其中Role || Email与A中已存在的Role || Email不匹配,忽略其余的(如NAME)。
我的表是:
我尝试了以下内容:
insert into A (NAME, ROLE, EMAIL)
SELECT NAME, ROLE, EMAIL from B
where NOT EXISTS (SELECT ROLE, EMAIL FROM B WHERE A.NAME = B.NAME AND A.EMAIL = B.EMAIL);
虽然它不起作用,我该如何解决这个问题?
答案 0 :(得分:0)
insert into A (NAME, ROLE, EMAIL)
select B.NAEM,B.ROLE,B.EMAIL from B left outer join A
on B.ROLE=A.ROLE and B.EMAIL=A.EMAIL
where A.ROLE is null
确保您的ROLE列中没有空值,如果是,请将A.ROLE is null
更改为(NAME,ROLE,EMAIL)中永远不会为空的任何列。