两个数据库中,两个名称相同的表,表结构不一样,数据的赋值

时间:2021-05-14 14:54:17
我想实现这样一个功能:
两个数据库A,B,都有一个表C,但是A中的C与B中的C结构不太一样,也有相同的列。
我想以A中表结构为主,把B中表C和A中表C共有的列的数据复制到A数据库的C表中去。怎么做

可以扩产到整个数据库的没有一个表中去。

8 个解决方案

#1


use a
go
select * into #t
from (
select 列名
from b..c
union 
select 列名
from a..c)a

#2


这是什么意思,有点看不懂。

#3



select 共同的列名
from b..c
 union 
 select 共同的列名
from a..c

#4


把共同的列(这里我用列名代替,因为我不知道你具体的列),查询出来,然后插入一个临时表#t,后续你怎么处理就是你的事了

#5


 用临时表来实现

#6


23456 select 共同的列名 from b..c  union  select 共同的列名 from a..c 
这里用Union的作用是什么啊,既然,已经选出共同列来了,还要Union干什么呢。会不会相同列覆盖了A中的数据啊。

#7


引用 6 楼 kay_1010 的回复:
23456 select 共同的列名 from b..c  union  select 共同的列名 from a..c 
这里用Union的作用是什么啊,既然,已经选出共同列来了,还要Union干什么呢。会不会相同列覆盖了A中的数据啊。
两个数据库中,两个名称相同的表,表结构不一样,数据的赋值你这个问题已经表明你的水平顶多是入门级别.....union 是两个集合合起来并且去掉重复,union all 这个跟union的区别是保留重复数据,而你这里肯定不需要重复,所以用union。另外如果你用我的代码,是插入一个新表,不会动你的A表的。这个是基于你这句话:可以扩产到整个数据库的没有一个表中去。
即使是插入到A的C表中,单纯这个代码仅仅是追加而不是覆盖,所以不会覆盖你的数据

#8


嗯。散分。谢谢。

#1


use a
go
select * into #t
from (
select 列名
from b..c
union 
select 列名
from a..c)a

#2


这是什么意思,有点看不懂。

#3



select 共同的列名
from b..c
 union 
 select 共同的列名
from a..c

#4


把共同的列(这里我用列名代替,因为我不知道你具体的列),查询出来,然后插入一个临时表#t,后续你怎么处理就是你的事了

#5


 用临时表来实现

#6


23456 select 共同的列名 from b..c  union  select 共同的列名 from a..c 
这里用Union的作用是什么啊,既然,已经选出共同列来了,还要Union干什么呢。会不会相同列覆盖了A中的数据啊。

#7


引用 6 楼 kay_1010 的回复:
23456 select 共同的列名 from b..c  union  select 共同的列名 from a..c 
这里用Union的作用是什么啊,既然,已经选出共同列来了,还要Union干什么呢。会不会相同列覆盖了A中的数据啊。
两个数据库中,两个名称相同的表,表结构不一样,数据的赋值你这个问题已经表明你的水平顶多是入门级别.....union 是两个集合合起来并且去掉重复,union all 这个跟union的区别是保留重复数据,而你这里肯定不需要重复,所以用union。另外如果你用我的代码,是插入一个新表,不会动你的A表的。这个是基于你这句话:可以扩产到整个数据库的没有一个表中去。
即使是插入到A的C表中,单纯这个代码仅仅是追加而不是覆盖,所以不会覆盖你的数据

#8


嗯。散分。谢谢。