Bagaimanakah cara penyertaan sendiri MySQL mencari acara selepas acara lain pada satu hari?

Linda Hamilton
Lepaskan: 2024-11-12 02:16:01
asal
584 orang telah melayarinya

How do MySQL self-joins find events following another event by one day?

Memahami MySQL Self-Joins

Pertanyaan baru-baru ini meneroka konsep self-joins dalam MySQL. Matlamatnya adalah untuk mendapatkan maklumat tentang acara (Acara2) yang mengikuti acara lain (Acara1) pada satu hari. Semasa pertanyaan berjaya dilaksanakan, pemahaman lanjut dicari berkenaan kefungsiannya.

Memecahkan Pertanyaan:

Pertanyaan boleh dipecahkan kepada beberapa bahagian yang berbeza:

  • Data Pendapatan semula:

    • DARI mm_eventlist_dates acara1: Memilih data daripada jadual bernama mm_eventlist_dates dan menetapkan alias acara1.
    • SERTAI mm_eventlist_dates acara2: Melaksanakan mm_eventlist_senarai_sendiri jadual maya kedua alias sebagai acara2.
  • Syarat Sertai:

    • PADA acara2.startdate = date_add(event1.enddate, INTERVAL 1 DAY) : Menentukan syarat penyertaan yang menapis rekod acara2 berdasarkan tarikh mulanya yang sepadan dengan tarikh tamat acara1 tambah satu hari.
  • Penapisan:

    • WHERE event1.id = $id: Menapis jadual event1 untuk mengambil hanya rekod dengan yang ditentukan ID.

Cara Ia Berfungsi:

  1. Pemilihan Rekod: Klausa WHERE mula-mula mendapatkan semula acara tertentu (Acara1) berdasarkan IDnya.
  2. Tarikh Pengiraan: Fungsi date_add() mengira hari berikutnya selepas tarikh tamat Event1 yang dipilih.
  3. Penapisan Sertai: Syarat sertai kemudiannya sepadan dengan rekod dalam acara2 di mana tarikh mula sepadan dengan tarikh yang dikira .
  4. Pengeluaran Data: Akhirnya, klausa SELECT mendapatkan semula tiga medan daripada jadual acara2: ID, tarikh mula dan harga.

Penggambaran Ringkas:

Bayangkan dua senarai acara berasingan (Acara1 dan Acara2) di mana setiap acara mempunyai ID, tarikh mula dan harga. Langkah pertanyaan ialah:

  1. Cari Acara1 dengan ID yang ditentukan.
  2. Kira keesokan harinya selepas tarikh tamat Event1.
  3. Kenal pasti acara Event2 di mana tarikh mulanya sepadan tarikh yang dikira.
  4. Ekstrak medan yang dikehendaki daripada Acara2 yang sepadan rekod.

Atas ialah kandungan terperinci Bagaimanakah cara penyertaan sendiri MySQL mencari acara selepas acara lain pada satu hari?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan