use*_*662 21 sql sql-server sql-update
我在SQL Server 2008环境中有两个表,具有以下结构
Table1
- ID
- DescriptionID
- Description
Table2
- ID
- Description
Run Code Online (Sandbox Code Playgroud)
Table1.DescriptionID映射到Table2.ID.但是,我不再需要了.我想进行批量更新,将Table1的Description属性设置为Table2中与之关联的值.换句话说,我想做这样的事情:
UPDATE
[Table1]
SET
[Description]=(SELECT [Description] FROM [Table2] t2 WHERE t2.[ID]=Table1.DescriptionID)
Run Code Online (Sandbox Code Playgroud)
但是,我不确定这是否是合适的方法.有人能告诉我怎么做吗?
Toc*_*cco 39
这样做:
update Table1
set Description = t2.Description
from Table1 t1
inner join Table2 t2
on t1.DescriptionID = t2.ID
Run Code Online (Sandbox Code Playgroud)
gbn*_*gbn 25
你的方法还可以
也许稍微清楚一点(对我来说!)
UPDATE
T1
SET
[Description] = t2.[Description]
FROM
Table1 T1
JOIN
[Table2] t2 ON t2.[ID] = t1.DescriptionID
Run Code Online (Sandbox Code Playgroud)
这个和你的查询都应该运行相同的性能,因为它是相同的查询,只是以不同的方式布局.
| 归档时间: |
|
| 查看次数: |
107953 次 |
| 最近记录: |