Rechercher et suppression des doublons dans deux tables
Résolu
pcsystemd
Messages postés
734
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Comme le titre l'indique je souhaite rechercher les doublons entre ma table A et ma table B et supprimer les doublons trouvés dans ma table A
Champ identique de ma table A e B : htdf
Pour chercher des doublons dans une seule table je procède comme suit :
Pour rechercher dans deux tables j'ai fait cela mais je suis pas certain que ce soit la bonne méthode!
Est ce la bonne méthode?
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Comme le titre l'indique je souhaite rechercher les doublons entre ma table A et ma table B et supprimer les doublons trouvés dans ma table A
Champ identique de ma table A e B : htdf
Pour chercher des doublons dans une seule table je procède comme suit :
SELECT COUNT(mail) AS nbr_doublon, mail
FROM A
GROUP BY id
HAVING COUNT(mail) > 1
Pour rechercher dans deux tables j'ai fait cela mais je suis pas certain que ce soit la bonne méthode!
SELECT t1.htdf, COUNT(t2.htdf)
FROM A t1, B t2
WHERE t1.htdf=t2.htdf
GROUP BY t1.htdf
HAVING COUNT(t1.htdf) > 1
Est ce la bonne méthode?
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
il s'agit plutôt de trouver les enregistrements de la table A ayant un htdf présent dans la table B, non?
si oui, j'essaierais ceci:SELECT t1.htdf FROM A t1, B t2 WHERE t1.htdf=t2.htdf
-
Merci. Je ne sais pas si cela reviens a la même chose que tu indiques!
Je souhaite trouver les valeurs en doublons dont identiques qui sont dans le champ htdf de la table A et de la table B et les supprimer dans la table A car les enregistrements identiques présents dans la table A et B ne doivent être présents que dans la table B et pas être présent la table A.
Exemple :
SELECT htdf FROM A ;
htdf
---------------
ht4rl678htu
SELECT htdf FROM B ;
htdf
---------------
ht4rl678htu
DELETE from A where htdf=ht4rl678htu;
-
Pardon pour ma réponse tardive. Oui j'ai testé et c'est OK. Merci encore