MySQL の自己結合について
SQL データベースで使用される技術である自己結合を使用すると、テーブル自体に対してクエリを実行できます。この場合、MySQL 自己結合を詳しく調べて、指定した日数だけ別のイベントに続く開始日を持つイベントを検索します。
クエリの内訳:
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.データ抽出 (FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
この部分は、自己結合のために、event1 とevent2 として表される 2 つのテーブル mm_eventlist_dates からデータを抽出します。
2。結合条件 (ON)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
この条件は 2 つのテーブル間の結合を定義します。イベント 2 の開始日がイベント 1 の終了日の 1 日後である必要があることを指定します。
3.フィルタリング (WHERE)
WHERE event1.id=$id
このフィルタは、指定された $id に一致する ID を持つイベントに結果を制限します。
4.フィールド選択 (SELECT)
SELECT event2.id, event2.startdate, event2.price
この部分では、event2 テーブルのどのフィールドを結果セットに含めるかを指定します (ID、開始日、価格)。
仕組み:
以上がMySQL で別のイベントの後に特定の日数が経過したイベントを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。