将数据库表中的一列复制到另一数据库表中的另一列sql server
我有两个数据库A和B,它们都是相同的,直到我搞乱了数据库A上表T1中的一列。。。基本上将该列中的所有记录都设置为NULL。如何使用数据库B中的等效列中的正确数据更新数据库A中T1中的不正确列 我的insert命令不起作用,因为数据库A的T1中有更多的列不允许插入空值将数据库表中的一列复制到另一数据库表中的另一列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中其他表
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的帮助:-非常感谢