Bonsoir,
J'essaie de supprimer les doublons absolus de ma table principale (contenant 800000 lignes) en suivant le tuto http://sqlpro.developpez.com/cours/doublons/ et la solution de la table temporaire.
La requête qui reprend le code suivant m'a posé un soucis:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELETE FROM T_DOUBLON T1 WHERE EXISTS (SELECT * FROM T_DOUBLON T2 WHERE T1.NUM = T2.NUM AND T1.NOM = T2.NOM AND T1.PRENOM = T2.PRENOM GROUP BY NUM, NOM, PRENOM HAVING COUNT(*) > 1);
ACCESS a refusé le select "*" au motif que ce n'est pas compatible avec un regroupement.
J'ai donc essayé de passer outre en modifiant le code selon:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELETE FROM T_DOUBLON T1 WHERE EXISTS (SELECT NUM, NOM, PRENOM FROM T_DOUBLON T2 WHERE T1.NUM = T2.NUM AND T1.NOM = T2.NOM AND T1.PRENOM = T2.PRENOM GROUP BY NUM, NOM, PRENOM HAVING COUNT(*) > 1);
A ce stade, ma requête s’exécute .... mais ça fait 3h maintenant sans la moindre progression notable .. ??:!
Mes questions sont les suivantes:
1) L'erreur du SELECT * est normale ?
2) La piètre performance de ma nouvelle requête est explicable ? (suffit juste d’être patient)
Merci pour vos conseils,
David
Partager