Accueil du site > Les articles > Comment trouver les clés en double avec SQL/400.
Version à imprimer Enregistrer au format PDF

Comment trouver les clés en double avec SQL/400.

jeudi 28 avril 2005, par Didier Encinas, Serge Gomes Visites  5363 |Popularité : 21%  Première mise en ligne le mercredi 15 septembre 2004.

Comment trouver les clés en double avec SQL/400 ?


1ère requête

Select  *
 From  Table1 As T1
 Where RRN( T1 ) < ( Select  Max( RRN( T2 ) )
                       From  Table1 As T2
                       Where T1.ColX = T2.ColX )

Cette requête ne renvoie, pour chaque groupe d’enreg. dupliqués, que le premier trouvé dans la table.

Ce sera long sur les "grosses" tables, mais ce sera juste.

2nde requête

Si une autre colonne est unique :

Select  *
 From  Table1 As T1
 Where ColY < ( Select  Max( ColY )
                  From  Table1 As T2
                  Where T1.ColX = T2.ColX )

3ème requête

autre méthode :

Select key1, key2..., keyn
 From file
Group by key1, key2..., keyn
Having count(*) > 1

4ème requête

Attention, cette requête supprime les doublons ! Dans cet exemple, le dé-doublonage se fait sur la colonne COLX de la table T1.

DELETE FROM T1 A
WHERE RRN(A) NOT IN (
 SELECT MAX( RRN(B) ) FROM T1 B WHERE A.COLX = B.COLX
)