SQL server -doublons
Fermé
saad_7013
Messages postés
1
Date d'inscription
mardi 27 septembre 2022
Statut
Membre
Dernière intervention
27 septembre 2022
-
27 sept. 2022 à 21:19
jee pee Messages postés 40586 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 décembre 2024 - 28 sept. 2022 à 11:56
jee pee Messages postés 40586 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 décembre 2024 - 28 sept. 2022 à 11:56
A voir également:
- SQL server -doublons
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Sql server recovery - Télécharger - Gestion de données
2 réponses
jee pee
Messages postés
40586
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 décembre 2024
9 460
28 sept. 2022 à 11:33
28 sept. 2022 à 11:33
Bonjour,
Un doublon s'analyse sur les informations qui sont des composants d'une clé, quels sont-ils pour cette table ?
jee pee
Messages postés
40586
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
23 décembre 2024
9 460
Modifié le 28 sept. 2022 à 11:58
Modifié le 28 sept. 2022 à 11:58
Supposons la table
col1 col2 col3 col4 col5 col6 col7
non 200 alain alian A100 2022/01/01 2022/05/05
non 500 alain alian NULL 2023/01/01 2023/09/15
non 600 alain alian NULL 2025/01/01 2025/10/28
OUI 200 alain alian A100 2022/01/01 2022/09/09
et que la notion de doublon soit sur col2 (id), col6 (date début) et que le critère pour déterminer le doublon à conserver soit col7 (date fin), en conservant le plus grand. On pourrait appliquer le code sql suivant pour supprimer le 1er enregistrement.
delete from table where (col2,col6,col7) in ( ( select col2,col6,col7 from table where (col2,col6) in ( select col2,col6 from table group by col2,col6 having count(*) > 1 ) ) minus ( select col2,col6,max(col7) from table group by col2,col6 having count(*) > 1 ) )