2011-09-14 19 views
2

すべての列がPK以外の重要なテーブルから重複を削除するにはどうすればよいですか。私は区別し得るものグループ化して重複行を削除する方法

declare @dummy table 
(
    pk int, 
    a char(1), 
    b char(1), 
    c char(1) 
) 

insert into @dummy 
select 1, 'A', 'B', 'B' union all 
select 2, 'A', 'B', 'B' union all 
select 3, 'P', 'Q', 'R' union all 
select 4, 'P', 'Q', 'R' union all 
select 5, 'X', 'Y', 'Z' union all 
select 6, 'X', 'Y', 'Z' union all 
select 7, 'A', 'B', 'Z' 

:私が好きな何

select * from @dummy 

pk   a b c 
----------- ---- ---- ---- 
1   A B B 
2   A B B 
3   P Q R 
4   P Q R 
5   X Y Z 
6   X Y Z 
7   A B Z 

は次のとおりです。

select ... do magic .... 

pk   a b c 
----------- ---- ---- ---- 
1   A B B 
3   P Q R 
5   X Y Z 
7   A B Z 

答えて

3

はそれを見つけた:

select min(pk), a, b, c 
from @dummy 
group by a, b, c 
+1

LOL、おめでとうございます!私はほとんどそこにいた、11秒で私を打つ=) – jadarnel27

0

をすることで、グループで、私は明確なそれを行うだろうと思ったが、私はあなたが欲しいものをかなり確信しています主キーでは、すべての行が区別されます。

関連する問題