用另一个表上的值更新新添加的列

Posted

技术标签:

【中文标题】用另一个表上的值更新新添加的列【英文标题】:Update newly added column with value on another table 【发布时间】:2016-10-12 11:07:05 【问题描述】:

我想在不丢失数据的情况下将一列从一个表移动到另一个表。我可以将数据复制到新表中的列而不创建原始表的任何副本/临时表吗?

【问题讨论】:

如果你已经删除了它,那么它就消失了,或者使用现在时而不是过去时。除此之外:始终向我们展示您尝试过的内容,其中至少应包含一个 UPDATE 查询。 感谢您的评论……当我第二次阅读我的问题时,我也想到了同样的问题……感谢您指出这一点。 【参考方案1】:

如果您尚未从 benefit 表中删除 PersonID 列, 使用以下脚本更新SchemeMember 表中新添加的列

   UPDATE c
    SET c.personID =b.personID 
   FROM benefit b
      JOIN SchemeMember c on b.SchemeMemberID  =c.SchemeMemberID 

【讨论】:

谢谢 Unni krishanan 标记为正确答案,如果解决方案解决了您的查询。【参考方案2】:

我使用以下查询做到了。

UPDATE SchemeMember
SET personID = b.personUID
FROM SchemeMember s,benefit b
WHERE s.Id = b.SchemeMemberId  

【讨论】:

以上是关于用另一个表上的值更新新添加的列的主要内容,如果未能解决你的问题,请参考以下文章

添加新的可空列后,是不是需要更新某个表上的每个 C# SQL 查询?

比较两个表上的列,如果它的列与 table2 中的列匹配,则更新 table1

根据另一个表上的字段长度更新

如何在没有主键的表上按顺序更新表?

用另一个表中的随机条目更新表的列

提高大型表上的 SQL Server 查询性能