日期:2014-05-17  浏览次数:20510 次

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

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

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