Comprendre le mécanisme des requêtes d'auto-jointure MySQL
Les requêtes d'auto-jointure impliquent de joindre deux instances de la même table pour comparer ou récupérer des données. Examinons les détails de la requête SQL que vous avez présentée :
``
SELECT event2.id, event2.startdate, event2.price
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2
SUR event2.startdate = date_add(event1.enddate, INTERVALLE 1 JOUR)
OÙ event1.id=$id
``
Plonger dans les pièces :
ON : Définit la condition de jointure, qui dans cette requête est :
Comment ça marche étape par étape :
Exemple de scénario :
Considérons un tableau avec l'événement suivant data :
ID | Start Date | End Date | Price |
---|---|---|---|
1 | 2023-03-01 | 2023-03-10 | 0 |
2 | 2023-03-15 | 2023-03-22 | 0 |
3 | 2023-04-01 | 2023-04-08 | 0 |
Si vous exécutez la requête avec $id défini sur 1, elle récupérera les données de l'événement 2, qui commence un jour après la date de fin de l'événement 1 :
ID | Start Date | Price |
---|---|---|
2 | 2023-03-15 | 0 |
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!