Bonjour
Suite à une cause indeterminée (je ferai ça dans une autre discussion), mon programme a doublé des enregistrements.
Comment pourrais par sql supprimer les doubles parfaits d'une table?
Merci pour votre aide
Version imprimable
Bonjour
Suite à une cause indeterminée (je ferai ça dans une autre discussion), mon programme a doublé des enregistrements.
Comment pourrais par sql supprimer les doubles parfaits d'une table?
Merci pour votre aide
la table sans les doublons (je suppose que si tu as des doublons que tu n as pas de clé primaire ou de contrainite UNIQUE)
Code:
1
2
3
4
5
6 create table sans_doublons as select max(champ1),max(champ2),...,max(champN) from table_avec_doublons group by champ1,champ2,...champN
salut,
J'utiliserais plutôt le mot clé DISTINCT qui est justement la pour éviter les doublons dans le résultat de la requète.
et pour eviter de supprimer ta table et de la recréer je dirais :
1. création d'une table temporaire à partir des enregistrements de ta table (avec requete distinct)
2. tu vides la table qui contient les doublons
3. tu repeuples ta table à partir de la table temporaire
4. tu supprimes la table temporaire
Suffit de lire la FAQ sur ce site (http://oracle.developpez.com/faq/?page=3-1#doublons) ou de faire une recherche, ce problème a déjà été posé de nombreuses fois
Merci: les deux solutions marchent