Bonjour a tous
voici mes deux instructions qui me donne le même résultat :
total doublons: 1995
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT DISTINCT champ1, champ2, champ3 FROM MESINFORMATIONS T1 WHERE T1.LACLE < ANY (SELECT LACLE FROM MESINFORMATIONS T2 WHERE T1.lacle <> T2.lacle AND T1.champ1 = T2.champ1 AND T1.champ2 = T2.champ2 AND T1.champ3 = T2.champ3)
Ensuite
total doublons: 1995
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT DISTINCT champ1, champ2, champ3 FROM MESINFORMATIONS T1 WHERE EXISTS (SELECT 1 FROM MESINFORMATIONS T2 WHERE T1.lacle <> T2.lacle AND T1.champ1 = T2.champ1 AND T1.champ2 = T2.champ2 AND T1.champ3 = T2.champ3)
et pour finir
qui supprime 1999 occurences, je ne comprend pas ou ai je pèché ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELETE FROM MESINFORMATIONS T1 WHERE T1.LACLE < ANY (SELECT LACLE FROM MESINFORMATIONS T2 WHERE T1.LACLE <> T2.LACLE AND T1.CHAMP1 = T2.CHAMP1 AND T1.CHAMP2 = T2.CHAMP2 AND T1.CHAMP3 = T2.CHAMP3)
Ensuite je me demandait si il y avait un moyen de supprimer les doublons en spécifiant un critère, exemeple:
dans mon cas je veux supprimer champ1, champ2, champ3 qui sont en doublons es que je peux ajouter un autres champs pour restreindre la suppression : (les doublons dont le champ4 > 10)
Merçi a tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DELETE FROM MESINFORMATIONS T1 WHERE T1.LACLE < ANY (SELECT LACLE FROM MESINFORMATIONS T2 WHERE T1.LACLE <> T2.LACLE AND T1.CHAMP1 = T2.CHAMP1 AND T1.CHAMP2 = T2.CHAMP2 AND T1.CHAMP3 = T2.CHAMP3 AND CHAMP4 >10 ) /* ajout d'un paramètre*/
Partager