Id(int)、Name(nvarchar)、Value1(bit)、Value2(bit) EX のフィールドを持つ MyTable というテーブルがあります。
1 Nathan True False
2 Nathan True False
3 John True False
4 John False True
したがって、次のように名前で重複を簡単に見つけることができます。
select 'First_Id'=a.Id,'First_Value1'=a.Value1,'First_Value2'=a.Value2,
'Second_Id'=b.Id,'Second_Value1'=b.Value1,'Second_Value2'=b.Value2
from MyTable a, MyTable b where a.Id>b.Id
and a.Name = b.Name
次に、SecondId の ID を持つものを削除できます...
私がやりたいことは、重複を見つけて、重複グループのすべての Value1 の間で論理 OR を実行し、その値で重複からすべての単一レコードを更新してから、value2 に対して同じことを行うことです。
元:
上記の例では、2 つのグループの重複があります。
結果は次のようになります。
1 Nathan True False
2 Nathan True False
3 John True True
4 John True True
どうやってやるの ?