SQL 脚本:使用另一个以 ID 为轴的表更新列
Posted
技术标签:
【中文标题】SQL 脚本:使用另一个以 ID 为轴的表更新列【英文标题】:SQL Script: Updating a column with another table pivoting on an ID 【发布时间】:2014-11-25 12:22:38 【问题描述】:我有两个 SQL Server 表:ORDERS
和 DELIVERIES
。
我想用来自DELIVERIES
的值更新ORDERS
表。 ORDERS
PK (OrderID
) 对两个表都是通用的。另外,我想将操作限制为特定的CustomerID
(在ORDERS
内)。
ORDERS
表:
OrderID | AccountID | AnalysisField1
DELIVERIES
表:
DeliveryID | OrderID | AddressName
我想用来自DELIVERIES.AddressName
(由OrderID
链接)的值更新ORDERS.AnalysisField1
,但仅限于ORDERS.AccountID = '12345'
请帮忙。杰米
【问题讨论】:
【参考方案1】:然后尝试使用这样的东西:
UPDATE dbo.Orders
SET AnalysisField1 = d.Addressname
FROM dbo.Deliveries d
WHERE
d.OrderID = dbo.Orders.OrderID
AND dbo.Orders.AccountID = '12345'
如果您的 AccountID
列是 numerical 类型(ID
后缀会建议),那么您应该不在值周围加上不必要的单引号在WHERE
子句中:
AND dbo.Orders.AccountID = 12345
【讨论】:
以上是关于SQL 脚本:使用另一个以 ID 为轴的表更新列的主要内容,如果未能解决你的问题,请参考以下文章
DATA_CONSISTENCY_CHECK 在我的表中打开。但是临时表仍然插入另一行以进行相同的数据更新。如何在 T-SQL 中进行限制?