2014-11-12 2 views
0

"/"문자를 내 조인 된 테이블에서 바꿔야하지만 "다중 부분 식별자를 바인딩 할 수 없습니다"예외가 발생합니다.문자를 바꿀 때 여러 부분 식별자를 바인딩 할 수 없습니다.

저는 비교적 간단한 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

당신은 UPDATESELECT 그래서 그냥 첫 줄을 제외해야 할 수 없습니다. 또한 당신은 단지 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' 
+0

그럼 내가 얻을 다음과 같은 오류 메시지 208, 수준 16, 상태 1, 줄 2 잘못된 개체 이름 'vInventoryOptional2Values.Value을'. – Klelund

+0

죄송합니다. 지금 시도해보십시오. – DavidG

+0

msg 207, 수준 16, 상태 1, 줄 2 'name'열 이름이 잘못되었습니다. – Klelund

관련 문제