带有连接的Sql Server 2008更新列[重复]
Posted
技术标签:
【中文标题】带有连接的Sql Server 2008更新列[重复]【英文标题】:Sql Server 2008 Update column with a join [duplicate] 【发布时间】:2015-04-29 09:40:44 【问题描述】:我已经对 mysql 进行了很多更新,并在此处阅读了很多问题和答案,但由于某种原因,我的代码无法正常工作。 我不断在 Inner 附近收到 Err 42000 不正确的语法,或者我放在这里的任何东西。 我的代码
Update
Table1
Inner Join
Table2 on Table2.column = Table1.column
Set
Table1.column = 'Random'
Where
table1.ID = '32'
【问题讨论】:
【参考方案1】:你快到了……
Update Table1
Set Table1.column = 'Random'
FROM Table1
Inner Join Table2 on Table2.column = Table1.column
Where table1.ID = '32'
别名版本看起来像.....
Update T1
Set T1.column = 'Random'
FROM Table1 T1
Inner Join Table2 T2 on T2.column = T1.column
Where T1.ID = '32'
【讨论】:
这有点奏效。为了测试我决定针对 1 个特定帐户进行测试,我不再收到错误代码,但它不会更新任何帐户。【参考方案2】:你已经接近了。这是您的 UPDATE
语句的语法。试试这个:
UPDATE [Table1]
SET [Column] = 'Random'
FROM [Table1]
INNER JOIN [Table2] ON [Table2].[column] = [Table1].[column]
WHERE [Table1].[ID] = '32'
【讨论】:
以上是关于带有连接的Sql Server 2008更新列[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Server 2008 R2 表中添加“上次更新”列?
更新表以按分组列显示总计 SQL Server 2008 R2
使用带有 oracle 的链接服务器更新 SQL Server 上的查询