我正在尝试使用SQL Server中unitcost
表的[Order Details]
列中的值更新unitcost
表的Products
列。
这是我的SQL查询:
UPDATE dbo.[Order Details]
SET dbo.[Order Details].UnitCost = dbo.Products.UnitCost
FROM dbo.[Order Details]
INNER JOIN dbo.Products ON dbo.[Order Details].ProductID = dbo.Products.ProductID
我收到错误:
'dbo'附近的语法不正确,期待“(”
这是指dbo
SET dbo.[Order Details].UnitCost
。
答案 0 :(得分:2)
在JOIN
内使用UPDATE
时,我建议您始终使用表别名来清楚说明。此外,由于UPDATE
实际上只能应用于一个表,因此无需在列中使用该别名。
试试这个:
UPDATE od
SET UnitCost = p.UnitCost
FROM dbo.[Order Details] od
INNER JOIN dbo.Products p ON od.ProductID = p.ProductID