Rechercher et suppression des doublons dans deux tables

Résolu
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 :

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

  1. Contributeur
    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
    0
    1. 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;


      0
      1. Contributeur
        as-tu testé ma suggestion?
        1
    2. Pardon pour ma réponse tardive. Oui j'ai testé et c'est OK. Merci encore
      0
      1. Contributeur
        peux-tu alors marquer la discussion comme résolue?
        0