我有两个表A和B.表A有36460090个记录,而表B的记录比表A少。表B是表A的子集。我想只传输表A到表B的那些记录。不在表B中。两个表中都没有主键。表A和表B也可能包含重复记录。 我怎样才能进行这种转移? 这是下面的代码:
select a.* , b.id
into #temp
from TableA a
left join TableB b
on a.id=b.id , a.var1=b.var1 ,a.var2=b.var2 .... , a.var12=b.var12
答案 0 :(得分:0)
选择不在b中的行:
select a.*
from a
where a.id in(select id from a
except
select id from b);
第二个解决方案:
select a.*
from a
where not exists(select 1
from b
where b.id = a.id);