SQL server -doublons
saad_7013
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41510 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41510 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je voulais enlever les doublons mais avec des conditions ,
exemple de résultat de ma requête :
- 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
Je voulais enlever le 1 ligne qu'est en doublon avec le 4
je suis bloqué je réfléchi par le dernier enregistrement mais logiquement 1 et 4 non pas en doublons
je suis bloqué :(
A voir également:
- SQL server -doublons
- Doublons photos - Guide
- Cybera server - Télécharger - Divers Réseau & Wi-Fi
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Supprimer les doublons excel - Guide
2 réponses
Bonjour,
Un doublon s'analyse sur les informations qui sont des composants d'une clé, quels sont-ils pour cette table ?
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 ) )