【问题标题】:SQL Server: copy column data values from one table to another table in the same databaseSQL Server:将列数据值从一个表复制到同一数据库中的另一个表
【发布时间】:2017-01-28 20:23:50
【问题描述】:

我在同一个 SQL Server 数据库中有两个不同的表。在我的表T1 中,我有 4 列 10 行。我有一张表T2,有 5 列。我想将表T2 中第五列的内容复制到表T1 的第五列。

但是,当我按以下方式进行交叉表更新时

update T1
set T1.fifthColumn = T2.fifthColumn
from T1, T2

它正在用 T2 中第五列的第一行值(数据)更新 T1 中的 10 行。有什么办法可以将T2中第五列的值复制到T1?我尝试了很多例子,但没有一个能正常工作。

PS:我使用的是 SQL Server 2008。

【问题讨论】:

    标签: sql sql-server-2008


    【解决方案1】:

    您已经在 T1 中创建了额外的(第 5 个)列,它是正确的数据类型,但只是空值,对吗?你是什​​么其他4列?我假设您可以加入一些唯一的密钥?两张表中的其他 4 列是否已经相同?

    我会这样做:

    update T1  set T1.fifthColumn = T2.fifthColumn
    from T1 left join T2 on T1.keyField = T2.keyField
    

    【讨论】:

    • 另外 4 列在两个表中并不相同。但是,我可以加入一个唯一的密钥,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多