我有下面的查詢來更新表o的字段sku到表p的字段AutoSKU。並運行它給我錯誤:「不明確的列名'sku'」。我也知道這個問題是因爲在WHERE條件下引擎不知道我在說什麼sku。但我需要這個條件來確保每個更新行都被正確映射。用o.sku替換sku會給出另一個錯誤「多部分標識符」o..sku「無法綁定」。有任何想法嗎?Sql Update - 不明確的列名
UPDATE o
SET sku = p.AutoSKU
FROM o (NOLOCK)
JOIN a (NOLOCK) ON a.Sku = o.sku
JOIN p (NOLOCK) ON p.Code = a.ProductCode
WHERE o.sku <> p.AutoSKU
AND sku = a.Sku
這裏'AND sku = a.Sku'你必須在第一個'sku'前加適當的表別名。 –
你的問題沒有意義。你已經在'on'條款中有'Sku'的條件。它不需要在'WHERE'子句中重複。 –
你是對的,@GordonLinoff。我只是很擔心引擎在更新查詢中使用FROM子句中的o表來處理o表。謝謝! –