Sposobem, w którym próbowałbym to zrozumieć, jest napisanie dwóch list na kawałku, jeden oznaczony jako zdarzenie1 i jeden zdarzenie2. Następnie wymień kilka rekordów na każdej liście (listy będą identyczne) teraz zaczynaj od GDZIE w opisie poniżej.
Pobieramy dane z dwóch tabel (OK, ta sama tabela została użyta dwa razy, ale spróbuj na razie to zignorować)
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2
Prawdopodobnie pomaga czytać resztę od dołu do góry.
WHERE event1.id=$id
Więc chcemy rekordu ze zdarzenia 1, który ma określony identyfikator rekordu. Przypuszczalnie to dokładnie jeden rekord. Teraz ustalamy dzień po zakończeniu tego wydarzenia.
date_add(event1.enddate, INTERVAL 1 DAY)
To mówi nam, że rekordy z wydarzenia 2 muszą rozpocząć się w tym dniu,
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Mamy teraz zidentyfikowane dwa rekordy, jakich pól chcemy?
SELECT event2.id, event2.startdate, event2.price
Och, tylko pola z tego, którego datę początkową ustaliliśmy.