将数据库表中的一列复制到另一数据库表中的另一列sql server

将数据库表中的一列复制到另一数据库表中的另一列sql server,sql,sql-server,database,Sql,Sql Server,Database,我有两个数据库A和B,它们都是相同的,直到我搞乱了数据库A上表T1中的一列。。。基本上将该列中的所有记录都设置为NULL。如何使用数据库B中的等效列中的正确数据更新数据库A中T1中的不正确列 我的insert命令不起作用,因为数据库A的T1中有更多的列不允许插入空值 insert into A.dbo.finance (finishdate) select finishdate from B.dbo.finance 我很想做一个内部连接,但它说不能绑定多部分标识符。不幸的是,数据库A中其他表

我有两个数据库A和B,它们都是相同的,直到我搞乱了数据库A上表T1中的一列。。。基本上将该列中的所有记录都设置为NULL。如何使用数据库B中的等效列中的正确数据更新数据库A中T1中的不正确列

我的insert命令不起作用,因为数据库A的T1中有更多的列不允许插入空值

insert into A.dbo.finance (finishdate)
select finishdate 
from B.dbo.finance
我很想做一个内部连接,但它说不能绑定多部分标识符。不幸的是,数据库A中其他表中的数据已经更改,因此不能简单地使用数据库B:-


有人可以帮忙吗?

如果ID是两个表的ID列,您应该加入它们并更新您想要的一个:

UPDATE A.dbo.finance
SET    finishdate = B.finishdate 
FROM   A.dbo.finance A
       JOIN B.dbo.finance B
           ON A.ID = B.ID
数据库B

Select finishdate into ##temp from dbo.finance B where 1 = 1
数据库A

    insert into dbo.finance(finishdate)
    select * from ##temp t where NOT EXISTS
(Select 1 from dbo.finance WHERE finishdate <> t.finishdate  )

如果要更改一列的值,为什么要插入?这不应该是一个更新吗?非常正确,纳迪姆。更新命令对我有效:-谢谢。非常感谢你的回复Mohantshank非常感谢Giannis的帮助:-非常感谢