Grundlegendes zu MySQL Self-Joins
Self-Joins, eine in SQL-Datenbanken verwendete Technik, ermöglichen es Ihnen, eine Tabelle gegen sich selbst abzufragen. In diesem Fall beschäftigen wir uns mit einem MySQL-Self-Join, um Ereignisse zu finden, deren Startdatum um eine bestimmte Anzahl von Tagen nach einem anderen Ereignis liegt.
Abfrageaufschlüsselung:
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. Datenextraktion (FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
Dieser Teil extrahiert Daten aus zwei Tabellen, mm_eventlist_dates, dargestellt als event1 und event2, zur Selbstverknüpfung.
2. Join-Bedingung (EIN)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Diese Bedingung definiert den Join zwischen den beiden Tabellen. Es gibt an, dass das Startdatum von Ereignis2 einen Tag nach dem Enddatum von Ereignis1 liegen muss.
3. Filtern (WHERE)
WHERE event1.id=$id
Dieser Filter beschränkt die Ergebnisse auf Ereignisse, deren ID mit der angegebenen $id übereinstimmt.
4. Feldauswahl (SELECT)
SELECT event2.id, event2.startdate, event2.price
Dieser Teil gibt an, welche Felder aus der Tabelle „event2“ in den Ergebnissatz aufgenommen werden sollen: ID, Startdatum und Preis.
So funktioniert es:
Das obige ist der detaillierte Inhalt vonWie finde ich Ereignisse, die einem anderen Ereignis um eine bestimmte Anzahl von Tagen folgen, in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!