我想比较表 a 和表 b 中的列
如果可以在表 b 中找到表 a 中的 a 值,那么我想用“是”更新表 a 中的另一列,如果找不到,我想说“不”。这是我到目前为止所拥有的:
UPDATE a
set
[CCA Match Org] = CASE WHEN b.[serial] = a.[CSI] THEN 'yes' ELSE 'no' END
我目前的错误说:
列前缀“b”与查询中使用的表名或别名不匹配。
我想比较表 a 和表 b 中的列
如果可以在表 b 中找到表 a 中的 a 值,那么我想用“是”更新表 a 中的另一列,如果找不到,我想说“不”。这是我到目前为止所拥有的:
UPDATE a
set
[CCA Match Org] = CASE WHEN b.[serial] = a.[CSI] THEN 'yes' ELSE 'no' END
我目前的错误说:
列前缀“b”与查询中使用的表名或别名不匹配。
假设连接开启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];
这是一个简单的示例,不确定它是否适用于您的情况,因为您没有向我们提供有关表结构的更多信息。
UPDATE a SET col='Yes' WHERE a.id IN (SELECT a.id FROM a JOIN b ON a.CSI = b.serial)