Sql server 将一个db表中的select字段复制到另一个db表

Sql server 将一个db表中的select字段复制到另一个db表,sql-server,Sql Server,我在数据库A的Massconfusion表中有两个字段(Utter和PAURE),我需要将它们移动到一个也称为Massconfusion数据库B的表中的两个字段(也称为Utter和PAURE)。有两个键(主键和子键)可以将此数据与数据库A和B中的其余信息正确排序。 (基本上,我们不知何故丢失了这两个字段中的大部分信息,并试图从数据库的旧副本中获取这些信息,而所有简单的恢复方法都不起作用。) 我完全是sql脚本编写的新手。所以我恳求,救命!提前谢谢 UPDATE B.dbo.MassConfusi

我在数据库A的Massconfusion表中有两个字段(Utter和PAURE),我需要将它们移动到一个也称为Massconfusion数据库B的表中的两个字段(也称为Utter和PAURE)。有两个键(主键和子键)可以将此数据与数据库A和B中的其余信息正确排序。
(基本上,我们不知何故丢失了这两个字段中的大部分信息,并试图从数据库的旧副本中获取这些信息,而所有简单的恢复方法都不起作用。)

我完全是sql脚本编写的新手。所以我恳求,救命!提前谢谢

UPDATE B.dbo.MassConfusion
SET Utter = (SELECT Utter FROM A.dbo.MassConfusion WHERE A.PrimeKey = B.PrimeKey)

UPDATE B.dbo.MassConfusion
SET Misery= (SELECT Misery FROM A.dbo.MassConfusion WHERE A.PrimeKey = B.PrimeKey)

根据记录的数量和混乱程度,您最好插入一个新表,不过……
UPDATE
可能会很慢,而且代价很高,这取决于您有多少索引,等等。

我不清楚MassMission表的主键是什么。第一个版本假定MassConmission的主键是
primary
。如果主键实际上是
主键
子键
的组合,则使用第二个版本

版本1:主键由一列组成

/* Just to make it clear that this is run from Database B */
Use B
go

update MCB
    set Utter = MCA.Utter,
        Misery = MCA.Misery
    from MassConfusion MCB
        inner join A.dbo.MassConfusion MCA
            on MCB.Primary = MCA.Primary
版本2:主键是两列的组合

/* Just to make it clear that this is run from Database B */
Use B
go

update MCB
    set Utter = MCA.Utter,
        Misery = MCA.Misery
    from MassConfusion MCB
        inner join A.dbo.MassConfusion MCA
            on MCB.Primary = MCA.Primary
                and MCB.SubKey = MCA.SubKey

@布雷特:很高兴能帮忙。请点击复选标记“接受”这个答案好吗?谢谢