[MySQL] Chevauchement d'intervalles de dates
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 :
Code:
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 |
-> jusque là, ça va bien !
Code:
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) |
-> là ça va mal ....
Qu'en pensez-vous ?
Merci de votre aide !