Maison >base de données >tutoriel mysql >Comment rechercher des événements suivant un autre événement selon un nombre de jours spécifique dans MySQL ?
Comprendre les auto-jointures MySQL
Les auto-jointures, une technique utilisée dans les bases de données SQL, vous permettent d'interroger une table sur elle-même. Dans ce cas, nous allons explorer une auto-adhésion MySQL pour trouver des événements dont les dates de début suivent un autre événement d'un nombre de jours spécifié.
Répartition des requêtes :
SELECT event2.id, event2.startdate, event2.price FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2 ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY) WHERE event1.id=$id;
1. Extraction de données (FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
Cette partie extrait les données de deux tables, mm_eventlist_dates, représentées par event1 et event2, pour l'auto-adhésion.
2. Condition de jointure (ON)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Cette condition définit la jointure entre les deux tables. Il précise que la date de début de l'événement 2 doit être égale à un jour après la date de fin de l'événement 1.
3. Filtrage (WHERE)
WHERE event1.id=$id
Ce filtre limite les résultats aux événements qui ont un identifiant correspondant au $id spécifié.
4. Sélection de champ (SELECT)
SELECT event2.id, event2.startdate, event2.price
Cette partie spécifie quels champs de la table event2 doivent être inclus dans l'ensemble de résultats : ID, date de début et prix.
Comment ça marche :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!