从数据库表复制一列到另一个数据库表中的另一列sql server
我有两个数据库(A和B),两者都是相同的,直到我搞砸了数据库A的表T1中的一列...基本上设置所有在该列中记录为NULL。如何在数据库A的T1中使用来自数据库B的等效列中的正确数据更新该不正确的列?从数据库表复制一列到另一个数据库表中的另一列sql server
我的插入命令不起作用,因为数据库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
非常感谢你Giannis做的诀窍:-)非常感谢 – Nicki 2014-09-29 09:14:18
数据库B
Select finishdate into ##temp from dbo.finance B where 1 = 1
数据库
insert into dbo.finance(finishdate)
select * from ##temp t where NOT EXISTS
(Select 1 from dbo.finance WHERE finishdate <> t.finishdate )
非常感谢你的回复Mohan – Nicki 2014-09-29 09:13:54
为什么如果你想改变一列的值,你插入吗?它不应该是一个更新? – 2014-09-25 10:19:17
非常真实的Nadeem。更新命令为我工作:-)谢谢。 – Nicki 2014-09-29 09:15:22