加入并更新同一列sql server [重复]

Posted

技术标签:

【中文标题】加入并更新同一列sql server [重复]【英文标题】:Join and update same column sql server [duplicate] 【发布时间】:2014-07-07 21:51:56 【问题描述】:

我有两张桌子:

表A:

ID Value
1  A
2  B

表B:

   Rank Value
    12   A
    13   B

我需要在 Value 列上加入两个表,并用 TableA 的 ID 列更新 TableB 的 Value 列。所以结果 TableB 将是:

Rank Value
12   1
13   2

我使用的是 Sql Server 2008

【问题讨论】:

TableB 中的Value 是什么数据类型? 所有列数据类型均为varchar(50) 【参考方案1】:

updatejoin 一起使用:

update b
set b.value = a.id
from tableb b 
  join tablea a on b.value = a.value
SQL Fiddle Demo

【讨论】:

【参考方案2】:

在 SQL Server 中,您可以使用update 中的join 来执行此操作。您的情况的具体语法是:

update b
    set value = a.id
    from tableb b join
         tablea a
         on b.value = a.value;

【讨论】:

以上是关于加入并更新同一列sql server [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法更新标识列 SQL Server 2014 [重复]

SQL Server 删除触发器以更新同一表中的多个列

带有连接的Sql Server 2008更新列[重复]

SQL Server标识列重新编号[重复]

使用另一个表中的内容更新 SQL Server 表[重复]

如何在SQL Server中不使用循环更新列?