テーブルoのフィールドskuをテーブルpのフィールドAutoSKUに更新する以下のクエリがあります。そしてそれを実行するとエラーが出ます: "あいまいな列名 'sku'"。私はまた、エンジンがWHERE条件でどのスキューについて話しているのか分からないので、問題があることも知っています。しかし、各更新行が正しくマップされていることを確認するには、その条件が必要です。 skuをo.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テーブルとは違ってUpdateクエリのoテーブルを扱うことを心配していました。ありがとうございました! –