大量的数据传输

时间:2015-06-03 17:48:00

标签: sql-server-2008

我有两个表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

1 个答案:

答案 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);