كيف تعمل الانضمام الذاتي في MySQL؟
يتضمن الانضمام الذاتي في 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
من البند
يحدد هذا الجداول التي سيتم الانضمام إليها:
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
يتم استخدام نفس الجدول، mm_eventlist_dates، مرتين ويسمى بالحدث 1 والحدث 2.
بند
هذا يربط بين الحالتين الجدول بناءً على شرط:
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
يبحث عن صفوف في الحدث2 حيث يتطابق تاريخ البدء في اليوم التالي لتاريخ انتهاء الصف المقابل في الحدث1.
WHERE Clause
يعمل هذا على تصفية النتائج بناءً على الشرط المحدد:WHERE events1.id=$idWHERE event1.id=$idيحدد الصفوف من الحدث 1 حيث يتطابق المعرف مع المتغير المحدد، $id.
SELECT Clause
يؤدي هذا إلى تحديد الحقول المطلوبة من الصفوف المرتبطة :SELECT events2.id,event2.startdate,event2.priceWHERE event1.id=$idيقوم باسترداد المعرف وتاريخ البدء والسعر من مثيل events2، الذي يحتوي على معلومات حول الأحداث التالية للحدث المحدد (event1) بيوم واحد.
عرض توضيحي مرئي
تخيل أن لديك السجلات التالية في جدول mm_eventlist_dates:event1.enddate | event2.id | event2.startdate | |
---|---|---|---|
2023-03-01 | 2 | 2023-03-02 | |
03-03-2023 | 4 | 2023-03-04 |
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3