SQL Server:将列数据值从一个表复制到同一数据库中的另一个表
Posted
技术标签:
【中文标题】SQL Server:将列数据值从一个表复制到同一数据库中的另一个表【英文标题】:SQL Server: copy column data values from one table to another table in the same database 【发布时间】: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。
【问题讨论】:
【参考方案1】:您已经在 T1 中创建了额外的(第 5 个)列,它是正确的数据类型,但只是空值,对吗?你是什么其他4列?我假设您可以加入一些唯一的密钥?两张表中的其他 4 列是否已经相同?
我会这样做:
update T1 set T1.fifthColumn = T2.fifthColumn
from T1 left join T2 on T1.keyField = T2.keyField
【讨论】:
另外 4 列在两个表中并不相同。但是,我可以加入一个唯一的密钥,谢谢。以上是关于SQL Server:将列数据值从一个表复制到同一数据库中的另一个表的主要内容,如果未能解决你的问题,请参考以下文章