尝试替换字符时,无法绑定多部分标识符

时间:2014-11-12 00:34:44

标签: sql sql-server

我想替换" /"来自我加入的表中的字符,但是我得到了一个"多部分标识符无法绑定"异常。

我正在进行一个相对简单的SQL查询。但我得到一个"多部分标识符无法绑定"例外。我搜索了异常并发现了很多帖子,但我无法使其发挥作用。有什么建议吗?

SELECT  lines.Item, vInventoryOptional2Values.Value AS Brand
UPDATE vInventoryOptional2Values.Value
SET name = REPLACE(name, ' ', '_')
FROM lines INNER JOIN inventory
ON lines.item = Inventory.item
INNER JOIN vInventoryOptional2Values
ON Inventory.Optional2 = vInventoryOptional2Values.RecordID
WHERE vInventoryOptional2Values.Value = 'dyrberg/kern'

完整查询看起来像这样(没有替换代码的字符):

SELECT  lines.Item, Inventory.ItemAlternative, Inventory.OnHandPhys, Inventory.Allocated, Inventory.CostPrice, SUM(lines.Invoiced)*-1 AS QtySoldInPeriod, (SUM(lines.AmountBase-lines.CostAmount))*-1 AS ProfitInPeriod, vInventoryOptional2Values.Value AS Brand, Inventory.Optional3 AS StockStatus
FROM lines INNER JOIN inventory
ON lines.item = Inventory.item INNER JOIN vInventoryOptional2Values
ON Inventory.Optional2 = vInventoryOptional2Values.RecordID
WHERE Lines.Date >= '2014-01-01' AND Lines.Date <= '2014-01-31'
AND lines.Invoiced < 0
AND Inventory.Status = 0
AND Inventory.Optional3 <> 3
GROUP BY Lines.Item, Inventory.Optional3, Inventory.ItemAlternative, Inventory.OnHandPhys, Inventory.CostPrice, vInventoryOptional2Values.Value, Inventory.Allocated HAVING SUM(lines.AmountBase-lines.CostAmount) < 0

1 个答案:

答案 0 :(得分:1)

您无法使用SELECT执行UPDATE,因此您只需要排除第一行。您也只需在UPDATE

中指定表名
UPDATE vInventoryOptional2Values
SET name = REPLACE(name, ' ', '_')
FROM lines INNER JOIN inventory
ON lines.item = Inventory.item
INNER JOIN vInventoryOptional2Values
ON Inventory.Optional2 = vInventoryOptional2Values.RecordID
WHERE vInventoryOptional2Values.Value = 'dyrberg/kern'