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

还是insert两表的有关问题

2012-02-26 
还是insert两表的问题前面问过-------表a和表b有相同的3个字段,aa,bb,cc如何实现insert 表a的数据到表b,如

还是insert两表的问题
前面问过
-------
表a和表b有相同的3个字段,aa,bb,cc

如何实现
insert 表a的数据到表b,
如果
其中表a某条数据的三个字段(组合aa+bb+cc)同时和表b的(aa+bb+cc)相同,就不插入该条数据



比如解决如下
-------------
insert into b(aa,bb,cc)
select aa,bb,cc from a
where not exists(select 1 from b where aa=a.aa and bb=a.bb and cc=a.cc)
--------------------
上面这个答案适用于b表的某条数据已经和a表的相同,然后insert的时候,相同的这条就不会插入到b。

有个问题,就是a表本身就有一条数据是重复的(这条数据b表没有),
这样按上面的句子执行的话,依然还是能插入到b表

[解决办法]

SQL code
insert into b(aa,bb,cc)select distinct aa,bb,cc from awhere not exists(select 1 from b where aa=a.aa and bb=a.bb and cc=a.cc) 

热点排行