两张表 插入不重复数据的问题
一个存储过程,是将A表(统计表)每天往B表(记录表)插入前一天的数据
A表(临时表):每日统计数据 字段为 date a1 a2 a3 a4,A表中有重复数据
B表(记录表): 字段为 自增量id date b1 b2 b3 b4
现在的情况是:统计条件发生改变(新增配对条件),导致以前插入B表的数据不全,要将新增记录补插进B表
select a1,a2,a3,a4 from A 记录1000条
实际新增数据为10条
select a1,a2,a3,a4 from A
except (select b1,b2,b3,b4 from B) 记录1条
问题出现了,因为A表中本身有重复数据,导致使用except把重复数据过滤了
本人新手,请教各位,该怎么改这个存储过程啊?
[解决办法]
select a1,a2,a3,a4 from A m
where not exists(select 1 from B n
where n.a1=m.a1 and n.a2=m.a2 and n.a3=m.a3 and n.a4=m.a4)
[解决办法]
修改一下:
select a1,a2,a3,a4
from A
left join B
on a.a1 = b.b1 and
a.a2 = b.b2 and
a.a3 = b.b3 and
a.a4 = b.b4
where b.b1 is null