[SQL] – Requet pour Supprimer les doublons

La requête ci-dessous est pour supprimé les doublons dans une table. C’est valide pour Oracle et SqlServer.

Exemple 1 : Supposons qu’on a une table ASSET (ASSETID, ASSETNUM, SITEID ..) et qu’on souhaite supprimer la liste des assets ayant le même n° et le même id.  on peut utiliser la requête suivante :

SELECT * FROM ASSET T1
WHERE EXISTS (SELECT *
FROM ASSET T2
WHERE T1.ASSETID = T2.ASSETID
AND T1.ASSETNUM=T2.ASSETNUM
GROUP BY ASSETID , ASSETNUM
HAVING COUNT(*) > 1) ;

Exemple 2 : Autre Requête pour supprimer les doublons :

delete
FROM   CLASSIFICATION l1
WHERE  rowid > ANY (SELECT min(rowid)
                      FROM   CLASSIFICATION l2
                      WHERE    l1.classificationid = l2.classificationid
                       );
yhanbali
yhanbali

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.