Sql server 无法从SQL Server中的另一个表更新列
我正在尝试使用SQL Server中Sql server 无法从SQL Server中的另一个表更新列,sql-server,Sql Server,我正在尝试使用SQL Server中产品表的单位成本列中的值更新[订单详细信息]表的单位成本列 这是我的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
产品
表的单位成本
列中的值更新[订单详细信息]
表的单位成本
列
这是我的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”附近的语法不正确,应为“(”
这是指
SET dbo处的dbo
。[订单详细信息].UnitCost
当在更新中使用连接时,我建议始终使用表别名来澄清问题。此外,由于更新实际上只能应用于一个表,因此无需在要设置的列中使用该别名
试试这个:
UPDATE od
SET UnitCost = p.UnitCost
FROM dbo.[Order Details] od
INNER JOIN dbo.Products p ON od.ProductID = p.ProductID
在UPDATE
中使用JOIN
时,我建议始终使用表别名来澄清问题。此外,由于UPDATE
实际上只能应用于一个表,因此无需在要设置的列中使用该别名
试试这个:
UPDATE od
SET UnitCost = p.UnitCost
FROM dbo.[Order Details] od
INNER JOIN dbo.Products p ON od.ProductID = p.ProductID
联接语法看起来正确,这意味着问题出在其他方面。查看是否可以在当前查询中使用准确的dbo.
语法从每个表中进行选择。这是正确的语法。您还有其他问题。联接语法看起来正确,这意味着问题出在其他方面。查看是否可以从每个表中选择usi在当前查询中使用确切的dbo.
语法。这是正确的语法。您还有其他事情要做。