在SQLserver中 怎样将两个库中同样结构的两个表的数据进行合并

在SQLserver中 怎样将两个库中同样结构的两个表的数据进行合并,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

在SQLserver中 怎样将两个库中同样结构的两个表的数据进行合并

数据有可能存在重复

表结构完全相同

解析:

可以将两个表中的数据提出来(重复的过滤)写入一个临时表中,清空这两个表,再将临时表的数据回写入这两个表里面。为防出错,请先备份数据库再 *** 作。

如:

第一步: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 项中一个字段一个字段地添加条件判断了。

首先问下.你会哪种导入手段.再之.你会哪种导出方法.然后,按你会的 *** 作呗.

2个数据库是不是同在本地,还是一个本地一个远程?navicat自带数据导入向导,按那个 *** 作就是.

表名不同没关系.字段不统一的话,要在导入时选下映射关系,不然就只有把远程的表下到本地来.

再用insert

into

目标表(字段1,....字段n)

select

a,b,c,d,...n

from

源表的方式写入.

你这问题问得不太确切。

SQL数据库中,“数据”是以“表”的形式存在的,每个表里有若干个“字段”,且字段名不能一样。

很多字段相同的“记录”按一定的顺序存在于每个表中,不应该有合并一说。

即它的结构是: 数据库-》很多的 “表”-》每个表有很多的记录,每个记录的“字段”是要一样的。

如果你说的是两条记录一样,或部分一样,要查询出的结果中只合并显示一条,那么用 Group By来进行分组显示就好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6786541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存