首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两张表 插入不重复数据的有关问题

2014-01-17 
两张表 插入不重复数据的问题一个存储过程,是将A表(统计表)每天往B表(记录表)插入前一天的数据A表(临时表)

两张表 插入不重复数据的问题
一个存储过程,是将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 

热点排行