使用SQL中的单个标识符比较多行

时间:2013-09-24 09:34:26

标签: sql-server-2008

我想通过连接唯一标识符来比较两个不同表中的三列。但是对于单个标识符,将返回多行。

示例:

Table A

Identifier Flag1 Flag2 Flag3

1           56    36    46   
1           89    65    33  
1           56    89    22
1           11    89    65

Table B

Identifier Flag 1 Flag2 Flag3

1           56    36    46   
1           89    65    33  
1           56    89    22
1           10    89    65

现在我想基于Identifier 1对这两个表进行比较,如果所有列值都匹配,请你帮忙我需要更新flag.Thanks提前

1 个答案:

答案 0 :(得分:0)

我认为以下代码会有所帮助, 下面的代码将更新表A的标志,以获取列值与表b相同的记录

update a
set someflag = 1
where exists
(
select * from B
where b.flag1 = a.flag1 
and b.flag2 = a.flag2 
and b.flag3 = a.flag3
)