Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Mencari Acara Mengikuti Peristiwa Lain mengikut Bilangan Hari Tertentu dalam MySQL?

Bagaimana Mencari Acara Mengikuti Peristiwa Lain mengikut Bilangan Hari Tertentu dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-11 01:16:02640semak imbas

How to Find Events Following Another Event by a Specific Number of Days in MySQL?

Memahami MySQL Self-Joins

Self-joins, teknik yang digunakan dalam pangkalan data SQL, membolehkan anda menanyakan jadual terhadap dirinya sendiri. Dalam kes ini, kami akan menyelidiki penyertaan sendiri MySQL untuk mencari acara dengan tarikh mula mengikuti acara lain dengan bilangan hari yang ditentukan.

Pecahan Pertanyaan:

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. Pengekstrakan Data (DARI)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Bahagian ini mengekstrak data daripada dua jadual, mm_eventlist_dates, diwakili sebagai event1 dan event2, untuk penyertaan sendiri.

2. Syarat Sertai (HIDUP)

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)

Syarat ini mentakrifkan cantuman antara dua jadual. Ia menyatakan bahawa tarikh mula acara2 mestilah sama dengan satu hari selepas tarikh tamat acara1.

3. Penapisan (WHERE)

WHERE event1.id=$id

Penapis ini mengehadkan keputusan kepada acara yang mempunyai ID yang sepadan dengan $id yang ditentukan.

4. Pemilihan Medan (PILIH)

SELECT event2.id, event2.startdate, event2.price

Bahagian ini menentukan medan mana daripada jadual acara2 harus disertakan dalam set hasil: ID, tarikh mula dan harga.

Cara ia Berfungsi:

  1. Pertanyaan bermula dengan mengekstrak dua set rekod daripada jadual mm_eventlist_dates.
  2. Syarat gabungan mengecilkan hasil dengan menapis rekod peristiwa2 yang permulaannya tarikh sepadan satu hari selepas tarikh tamat rekod acara1.
  3. Penapis menggunakan $id yang ditentukan pengguna untuk memperhalusi lagi rekod acara1.
  4. Hasil yang dikembalikan termasuk medan yang diingini daripada acara2 jadual, yang mewakili acara yang mengikuti acara1 dengan satu hari.

Atas ialah kandungan terperinci Bagaimana Mencari Acara Mengikuti Peristiwa Lain mengikut Bilangan Hari Tertentu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn