我想替换" /"来自我加入的表中的字符,但是我得到了一个"多部分标识符无法绑定"异常。
我正在进行一个相对简单的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
答案 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'