两个表,相同结构,需要将A表的信息插入到B表,某一列数据如果已存在,则不插入,不存在则插入,该如何处理
两个表,相同结构,需要将A表的信息插入到B表,某一列数据如果已存在,则不插入,不存在则插入
------解决方案--------------------
- SQL code
A表 id name sex desc 1 小明 男 调皮 2 女 可爱 B表 id name sex desc 1 小明 男 调皮,但是思考能力强 3 小黑 男 老实 2 小白 女 可爱 得到: A表 id name sex desc 1 小明 男 调皮,但是思考能力强 2 小白 女 可爱 3 小黑 男 老实 现在我主要的问题是,不能够在插入数据的同时为name做判断,当name存在,这不修改name的信息,不存在,则修改
------解决方案--------------------
- SQL code
update a set a.name = b.name,a.sex = b.sex,a.[desc] = b.[desc] from a join b on a.id = b.id insert into a select * from b where id not in (select id from a)
------解决方案--------------------
楼主可以考虑使用merge操作,如果数据库是2005以上的话