sql - 使用select语句更新多行

标签 sql sql-server sql-server-2008 tsql

我有这些表和值:

Table1
------------------------
ID | Value
------------------------
2 | asdf
4 | fdsa
5 | aaaa


Table2
------------------------
ID | Value
------------------------
2 | bbbb
4 | bbbb
5 | bbbb


我想使用表1中的值及其各自的ID更新表2中的所有值。

有没有办法通过简单的SQL查询来做到这一点?

最佳答案

运行选择以确保它是您想要的

SELECT t1.value AS NEWVALUEFROMTABLE1,t2.value AS OLDVALUETABLE2,*
FROM Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.ID


更新资料

UPDATE Table2
SET Value = t1.Value
FROM Table2 t2
INNER JOIN Table1 t1 on t1.ID = t2.ID


另外,请考虑使用BEGIN TRAN,以便在需要时可以将其回滚,但请在满意时确保使用COMMIT

关于sql - 使用select语句更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247982/

相关文章:

mysql - SQL 连接表较低的日期和较低的 ID

sql - 通过 Min/Max/Avg 操作对表中的值进行分组

sql - SQL Server 2016中order by子句中的单例多列

java - jtable 来自 sql 数据库,带有搜索/比较查询

mysql - 不同的值作为另一列中的字符串

SQL,提取第5个逗号之前的所有内容

c# - 执行大型 SQL 脚本(使用 GO 命令)

sql-server - 运行配置文件中指定的扩展时出现异常。超出最大请求长度

sql-server-2008 - 更新 SQL Server 2008 中的所有 HierarchyID 节点

sql-server - 将 SQL Server 表格图表粘贴到 Word 中 - 图表太小