2

表aと表bの列を比較したい

テーブルaの値がテーブルbで見つかった場合は、テーブルaの別の列を「yes」で更新し、見つからない場合は「no」と言います。これは私がこれまでに持っているものです:

UPDATE a 
set
[CCA Match Org] = CASE WHEN b.[serial] = a.[CSI] THEN 'yes' ELSE 'no' END

現時点での私のエラーは次のように述べています。

列プレフィックス'b'が、クエリで使用されているテーブル名またはエイリアス名と一致しません。

4

2 に答える 2

6

参加がオンになっていると仮定しb.[serial] = a.[CSI]ます:

UPDATE a
SET [CCA Match Org] = CASE WHEN b.[serial] IS NOT NULL 
  THEN 'yes' ELSE 'no' END
FROM a LEFT OUTER JOIN b
ON b.[serial] = a.[CSI];
于 2012-06-13T14:53:32.613 に答える
0

これは簡単な例ですが、テーブル構造に関する詳細情報を提供していないため、この場合に機能するかどうかはわかりません。

UPDATE a SET col='Yes' WHERE a.id IN (SELECT a.id FROM a JOIN b ON a.CSI = b.serial)
于 2012-06-13T14:56:07.610 に答える