sql插入数据时,避免插入重复数据
2016-11-23 13:18
337 查看
1.往表T_Mid_WaterIndexArea中插入数据
insert into [dbo].[T_Mid_WaterIndexArea](AreaCode,Year,DO,CODMn,BOD5,COD,NH3N,TP,TN,CompositeIndex)
select c.AreaCode,c.Year,
--c.AreaName,
AVG(c.DO) DO,AVG(c.CODMn) CODMn,AVG(c.BOD5) BOD5,AVG(c.COD) COD,
AVG(c.NH3N) NH3N,AVG(c.TP) TP,AVG(c.TN) TN,AVG(c.CompositeIndex) CompositeIndex
from
(select a.*,b.Year,b.DO,b.CODMn,b.BOD5,b.COD,b.NH3N,b.TP,b.TN,b.CompositeIndex
from
[dbo].[T_Bas_RiverSection] a
join [dbo].[T_Mid_WaterIndexSection] b
on a.SectionCode=b.SectionCode) c
group by c.AreaCode,c.Year
2.避免插入重复数据
insert into [dbo].[T_Mid_WaterIndexArea](AreaCode,Year,DO,CODMn,BOD5,COD,NH3N,TP,TN,CompositeIndex)
select * from
(select c.AreaCode,c.Year,
--c.AreaName,
AVG(c.DO) DO,AVG(c.CODMn) CODMn,AVG(c.BOD5) BOD5,AVG(c.COD) COD,
AVG(c.NH3N) NH3N,AVG(c.TP) TP,AVG(c.TN) TN,AVG(c.CompositeIndex) CompositeIndex
from
(select a.*,b.Year,b.DO,b.CODMn,b.BOD5,b.COD,b.NH3N,b.TP,b.TN,b.CompositeIndex
from
[dbo].[T_Bas_RiverSection] a
join [dbo].[T_Mid_WaterIndexSection] b
on a.SectionCode=b.SectionCode) c
group by c.AreaCode,c.Year) d
--判断数据库中是否存在重复数据,重复数据不插入
where not exists(select * from T_Mid_WaterIndexArea w where w.AreaCode=d.AreaCode and w.Year=d.Year)
insert into [dbo].[T_Mid_WaterIndexArea](AreaCode,Year,DO,CODMn,BOD5,COD,NH3N,TP,TN,CompositeIndex)
select c.AreaCode,c.Year,
--c.AreaName,
AVG(c.DO) DO,AVG(c.CODMn) CODMn,AVG(c.BOD5) BOD5,AVG(c.COD) COD,
AVG(c.NH3N) NH3N,AVG(c.TP) TP,AVG(c.TN) TN,AVG(c.CompositeIndex) CompositeIndex
from
(select a.*,b.Year,b.DO,b.CODMn,b.BOD5,b.COD,b.NH3N,b.TP,b.TN,b.CompositeIndex
from
[dbo].[T_Bas_RiverSection] a
join [dbo].[T_Mid_WaterIndexSection] b
on a.SectionCode=b.SectionCode) c
group by c.AreaCode,c.Year
2.避免插入重复数据
insert into [dbo].[T_Mid_WaterIndexArea](AreaCode,Year,DO,CODMn,BOD5,COD,NH3N,TP,TN,CompositeIndex)
select * from
(select c.AreaCode,c.Year,
--c.AreaName,
AVG(c.DO) DO,AVG(c.CODMn) CODMn,AVG(c.BOD5) BOD5,AVG(c.COD) COD,
AVG(c.NH3N) NH3N,AVG(c.TP) TP,AVG(c.TN) TN,AVG(c.CompositeIndex) CompositeIndex
from
(select a.*,b.Year,b.DO,b.CODMn,b.BOD5,b.COD,b.NH3N,b.TP,b.TN,b.CompositeIndex
from
[dbo].[T_Bas_RiverSection] a
join [dbo].[T_Mid_WaterIndexSection] b
on a.SectionCode=b.SectionCode) c
group by c.AreaCode,c.Year) d
--判断数据库中是否存在重复数据,重复数据不插入
where not exists(select * from T_Mid_WaterIndexArea w where w.AreaCode=d.AreaCode and w.Year=d.Year)
相关文章推荐
- jsp或struts如何避免Form重复提交,不然数据中的插入的纪录有重复的!
- t-sql go 重复执行sql 语句 重复插入数据
- SQL 避免重复插入
- MySql避免重复插入sql语句
- 数据库并发插入避免重复数据的问题
- 用JSP向数据库中添加数据,避免插入空值,重复值
- mysql插入大量数据时避免重复记录出现
- 一条SQL语句插入大量数据 和查看某个表的字段是否有重复值
- mysql避免插入重复数据
- MySQL批量插入遇上唯一索引避免方法(避免导入重复数据)
- 避免重复插入数据
- 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化
- sql通过触发器避免导入重复数据
- oracle sql 当初始化数据时避免重复主键
- jsp或struts如何避免Form重复提交,不然数据中的插入的纪录有重复的!
- sql :将一张表的数据插入到另一张表中同时要消除重复的数据
- mysql中避免重复插入相同数据(insert if not exists)
- MySQL: ON DUPLICATE KEY UPDATE 用法 避免重复插入数据
- SQL 语句之insert语句插入数据;若表中有重复的主键或数据插入的时候要求不能报错
- sql 中怎么将A表插入B表中,,去除两张 表中含有的重复数据