0

一意の識別子を介して結合して、2 つの異なるテーブルの 3 つの列を比較したいのですが、単一の識別子の場合、複数の行が返されます。

例:

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

ここで、識別子 1 に基づいてこれら 2 つのテーブルを比較したいと思います。フラグを更新する必要がある場合、すべての列の値が一致しているかどうか教えてください。よろしくお願いします。

4

1 に答える 1

0

以下のコードが役立つと思います。以下のコードは、列の値がテーブル b の値と同じであるレコードのテーブル A のフラグを更新します。

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
)
于 2013-09-24T10:36:48.813 に答える