jeudi 27 septembre 2012

Rechercher et supprimer des doublons dans une table.

Voici une requête qui me semble intéressante pour rechercher et supprimer des doublons en faisant la recherche avec le ROWID.

Avant ça, on va visualiser la table:

Donc, on voit que le nom et le prénom Kevin Feeney est en doublon. Pour rechercher la ligne en trop, exécuter cette requête:










Voici le code:
select * from employees a where a.rowid > ANY
(select b.rowid from employees b where a.first_name=b.first_name
 and a.last_name=b.last_name);


Pour supprimer le doublon, exécuter cette requête:
delete from employees a where a.rowid > ANY
(select b.rowid from employees b where a.first_name=b.first_name
 and a.last_name=b.last_name);


Si on fait un SELECT * FROM EMPLOYEES, le doublon ne sera pas affiché.

Aucun commentaire:

Enregistrer un commentaire