我有两个表。SQL Server:比较两个表,两列
TableA
(ID int, Match1 char, Match2 char, status char
)TableB
(Match1 char, match2
)
我希望标记行中tableA
在状态,其中对于同一match1, match2
不存在tableB
失败。
实施例:
表A
ID Match1 Match2 Status
1 100 AB
2 100 AR
3 200 BC
4 200 VB
5 200 AB
表B
Match1 Match2
100 AF
100 AR
100 BG
200 AB
200 BJ
200 VB
预期结果:
表A
ID Match1 Match2 Status
1 100 AB FAIL
2 100 AR NULL
3 200 BC FAIL
4 200 VB NULL
5 200 AB NULL
感谢
我使用(不工作):
Update A
set status = 'FAIL'
from TableA A
Inner join TableB B
ON A.match1 = B.match1
WHERE A.match2 <> B.Match2
它为什么不起作用?你收到错误信息了吗?如果不是,你是否得到意想不到的输出?如果这样,那是什么? – 2011-10-11 20:31:21
表A失败表A –
中的所有记录marc_s:这是一个完全不同的问题! –