2

我想比较表 a 和表 b 中的列

如果可以在表 b 中找到表 a 中的 a 值,那么我想用“是”更新表 a 中的另一列,如果找不到,我想说“不”。这是我到目前为止所拥有的:

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 回答