Cách tôi cố gắng hiểu điều này là viết ra hai danh sách trên mảnh một có nhãn event1 và một event2. Sau đó, liệt kê một vài bản ghi trong mỗi danh sách (các danh sách sẽ giống hệt nhau) bây giờ bắt đầu tại WHERE trong mô tả bên dưới.
Chúng tôi đang lấy dữ liệu từ hai bảng (OK, cùng một bảng được sử dụng hai lần, nhưng hãy cố gắng bỏ qua điều đó trong thời điểm này)
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2
Nó có thể hữu ích khi đọc phần còn lại từ dưới lên.
WHERE event1.id=$id
Vì vậy, chúng tôi muốn bản ghi từ event1 có id bản ghi được chỉ định. Có lẽ đó chính xác là một kỷ lục. Bây giờ chúng ta tìm ra ngày sau khi sự kiện đó kết thúc.
date_add(event1.enddate, INTERVAL 1 DAY)
Bây giờ cho chúng ta biết các bản ghi từ event2, chúng cần bắt đầu vào ngày đó,
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Bây giờ chúng tôi đã xác định được hai bản ghi, chúng tôi muốn những trường nào?
SELECT event2.id, event2.startdate, event2.price
Ồ, chỉ là các trường từ trường mà chúng tôi đã tìm ra ngày bắt đầu.