OVH Cloud OVH Cloud

requête suppression de doublons

5 réponses
Avatar
Pascal
bonsoir,
je ne trouve pas la fàçon de faire une requête qui supprimerait les doublons
de ma table

je suis sous ACCESS 2000

merdi d'avance de votre aide
Pascal

5 réponses

Avatar
bjf
Salut Pascal
ci-dessous, copie d'un message traitant ce sujet
salut Eric
Ci-dessous un exemple d'une requête SQL pour effacer les
doublons
BJF
-----Message d'origine-----
Salut Chris,
Cette fois-ci, j'ai testé...
DELETE Table1.Name
FROM Table1
WHERE Table1.Name In (SELECT [Name] FROM [Table1] As Tmp
GROUP BY [Name] HAVING Count(*)>1);

Bye
Yann

-----Message d'origine-----
Bonjour,
Dans une table, j'ai des enregistrements contenant des
données identiques. Je cherche à créer une requête
permettant de supprimer uniquement les doublons.
Comment procéder (en langage SQL ou par Access) ?
.

.



-----Message d'origine-----
bonsoir,
je ne trouve pas la fàçon de faire une requête qui
supprimerait les doublons

de ma table

je suis sous ACCESS 2000

merdi d'avance de votre aide
Pascal


.



Avatar
Raymond [mvp]
Bonjour.

attention, cette requête va supprimer tous les enregistrements en doublon et
ne conservera aucun enregistrement, ce qui n'est pas le but recherché.
Soit on passe par une nouvelle table en création soit on passe par une
requête en éliminant doublon par doublon. en général, deux exécutions
suffisent.
si on supprime les doublons sur le champ LeNom par exemple, Numéro étant la
clé primaire,
DELETE Table1.Numéro FROM Table1
WHERE Table1.Numéro In (SELECT Last table1.Numéro AS DernierDeNuméro
FROM table1 GROUP BY table1.LeNom
HAVING Count(table1.LeNom)>1 );

si on veut supprimer le premier on remplace last par First.
il faut supprimer sur un last de la clé primaire pour être sûr des vrais
doublons et non des homonymes.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bjf" a écrit dans le message de news:
138c01c4b27e$6eb6be70$
Salut Pascal
ci-dessous, copie d'un message traitant ce sujet
salut Eric
Ci-dessous un exemple d'une requête SQL pour effacer les
doublons
BJF
-----Message d'origine-----
Salut Chris,
Cette fois-ci, j'ai testé...
DELETE Table1.Name
FROM Table1
WHERE Table1.Name In (SELECT [Name] FROM [Table1] As Tmp
GROUP BY [Name] HAVING Count(*)>1);

Bye
Yann


Avatar
bjf
Salut Raymond,
La question de Pascal était de supprimer les doublets (ou
multiplets), il n'a pas précisé qu'il voulait garder un
enregistrement de chaque multiplet.
A+

-----Message d'origine-----
Bonjour.

attention, cette requête va supprimer tous les
enregistrements en doublon et

ne conservera aucun enregistrement, ce qui n'est pas le
but recherché.

Soit on passe par une nouvelle table en création soit on
passe par une

requête en éliminant doublon par doublon. en général,
deux exécutions

suffisent.
si on supprime les doublons sur le champ LeNom par
exemple, Numéro étant la

clé primaire,
DELETE Table1.Numéro FROM Table1
WHERE Table1.Numéro In (SELECT Last table1.Numéro AS
DernierDeNuméro

FROM table1 GROUP BY table1.LeNom
HAVING Count(table1.LeNom)>1 );

si on veut supprimer le premier on remplace last par
First.

il faut supprimer sur un last de la clé primaire pour
être sûr des vrais

doublons et non des homonymes.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bjf" a écrit dans le
message de news:

138c01c4b27e$6eb6be70$
Salut Pascal
ci-dessous, copie d'un message traitant ce sujet
salut Eric
Ci-dessous un exemple d'une requête SQL pour effacer les
doublons
BJF
-----Message d'origine-----
Salut Chris,
Cette fois-ci, j'ai testé...
DELETE Table1.Name
FROM Table1
WHERE Table1.Name In (SELECT [Name] FROM [Table1] As Tmp
GROUP BY [Name] HAVING Count(*)>1);

Bye
Yann



.




Avatar
Raymond [mvp]
En général quand on travaille sur la même table, on garde l'original, et
quand on supprime les doublons dans une autre table on supprime toutes les
occurences de l'autre table.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bjf" a écrit dans le message de news:
08ec01c4b28b$dc7ffc70$
Salut Raymond,
La question de Pascal était de supprimer les doublets (ou
multiplets), il n'a pas précisé qu'il voulait garder un
enregistrement de chaque multiplet.
A+
Avatar
Pascal
ben dis donc, j'en apprend des choses!
un grand merci à vous deux, je le fais de suite
pour répondre à Raymond, il est vrai que je n'ai rien précisé, mais dans ce
cas de figure je ne dois pas conserver la table originel, la cause des
doublets et multiplets est suite à une erreur, mais j'ai noté l'astuce du
Maître
Merci encore à vous deux pour ce service
Pascal


"Raymond [mvp]" a écrit dans le message de
news:
En général quand on travaille sur la même table, on garde l'original, et
quand on supprime les doublons dans une autre table on supprime toutes les
occurences de l'autre table.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bjf" a écrit dans le message de news:
08ec01c4b28b$dc7ffc70$
Salut Raymond,
La question de Pascal était de supprimer les doublets (ou
multiplets), il n'a pas précisé qu'il voulait garder un
enregistrement de chaque multiplet.
A+