Bonjour,
J'ai une table avec MySQL qui liste les utilisateurs avec leur numéro de telephone et une date debut et fin de leur activité. Un numéro de téléphone peut être attribué à différents utilisateurs dans le temps tant que les périodes ne se chevauchent pas.
Le problème est qu'il existe dans cette table des numéros de téléphone attribués à plusieurs utilisateurs sur des périodes se chevauchant.
Comment puis-je éliminer de ma table les enregistrements pour lesquels un numéro de téléphone est défini sur des intervalles se chevauchant ?
Il n'y a qu'un enregistrement par utilisateur et un utilisateur ne peut avoir qu'un numéro de téléphone à une date donnée.
J'essaie sans succès de faire quelque chose avec la fonction "overlaps" du style :
-> jusque là, ça va bien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 /* Recherche des numéros tel définis sur plusieurs intervalles et insertion dans une table temporaire */ INSERT INTO table_temporaire SELECT numtel, login, date_debut, date_fin FROM utilisateur GROUP BY numtel HAVING COUNT(*) > 1 ORDER BY numtel
-> là ça va mal ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 /* Recherche des intervalles se chevauchant et rejet dans une table */ INSERT INTO table_rejet SELECT numtel, login, date_debut, date_fin FROM table_temporaire GROUP BY numtel WHERE (date_debut, date_fin) OVERLAPS ( date_debut, date_fin)
Qu'en pensez-vous ?
Merci de votre aide !
Partager