sqlserver 两个表差异合并 除了insert.. select.. 外还有啥最好的办法吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 两个表差异合并 除了insert.. select.. 外还有啥最好的办法吗?相关的知识,希望对你有一定的参考价值。

tb1 和tb2 字段是相同的~ 数据内容有些相同有些不同
我需要合并两个表的数据,但是重复的不需要合并。
除了insert.. select.. 外还有什么最好的办法吗?
如果答案很优越 我追加到200分~~ 谢谢各位~

你好,可以将两个表中的数据提出来(重复的过滤)写入一个临时表中,清空这两个表,再将临时表的数据回写入这两个表里面。为防出错,请先备份数据库再操作。
如:
第一步:select * from 数据库名1..表名1 into #临时表名
第二步:insert into #临时表名 (字段名1,字段名2……) (select a.字段名1,a.字段名2…… from 数据库名2..表名2 a,数据库名1..表名1 b where 数据库名2..表名2.主键字段名<>数据名1..表名1.主键字段名 )
第三步:delete from 数据库名1..表名1
第四步:delete from 数据库名2..表名2
第五步:insert into 数据库名1..表名1 from #临时表
第六步:insert into 数据库名2..表名2 from #临时表
第七步:drop table #临时表

注:如果两个表中没有主键,你只有在第二条语句中where 项中一个字段一个字段地添加条件判断了。 18290希望对你有帮助!

参考资料:. fxeighh

参考技术A select col1 from tb1
union all
select col1 from tb2
参考技术B insert.. select.. 这么好用 为什么不用

以上是关于sqlserver 两个表差异合并 除了insert.. select.. 外还有啥最好的办法吗?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 将两个表合并为一个但得到重复的行

如何比较两个表数据的差异

Mysql 和 SQLServer 使用SQL差异比较

SQL连接/合并两个hierarchyid表

MS SQLServer数据库结构及数据对比

求助:SQLSERVER多条查询语句合并