لإنجاز هذا ، يمكننا الاستفادة من قوة الاستعلامات العودية في SQL. يقوم الاستعلام المتكرر بإجراء جولات متعددة من العمليات على نفس البيانات. فيما يلي حل يستخدم تعبيرًا مشتركًا للجدول (CTE) لتتبع العمليات العودية:
مع CTE مثل (( حدد متميز m1.product_id as group_id ، m1.product_id من المباريات M1 اليسار انضم مباريات M2 على m1.product_id = m2.matching_product_id حيث m2.matching_product_id خالية الاتحاد جميع يختار C.Group_ID ، M.Matching_Product_id من Cte ج انضم إلى المباريات م على c.product_id = m.product_id ) حدد * من CTE Order بواسطة group_idيتم التقاط هذا في الجزء الأول من CTE.
حدد متميز m1.product_id as group_id ، m1.product_id من المباريات M1 اليسار انضم مباريات M2 على m1.product_id = m2.matching_product_id حيث m2.matching_product_id خالية
WITH CTE AS ( SELECT DISTINCT M1.Product_ID AS Group_ID, M1.Product_ID FROM matches M1 LEFT JOIN matches M2 ON M1.Product_Id = M2.matching_Product_Id WHERE M2.matching_Product_Id IS NULL UNION ALL SELECT C.Group_ID, M.matching_Product_Id FROM CTE C JOIN matches M ON C.Product_ID = M.Product_ID ) SELECT * FROM CTE ORDER BY Group_ID
حدد C.Group_ID ، M.Matching_Product_id من Cte ج انضم إلى المباريات م على c.product_id = m.product_id
SELECT DISTINCT M1.Product_ID AS Group_ID, M1.Product_ID FROM matches M1 LEFT JOIN matches M2 ON M1.Product_Id = M2.matching_Product_Id WHERE M2.matching_Product_Id IS NULL
عن طريق الاستفادة من القدرات المتكررة لخادم SQL ، يمكننا استخراج الأنماط الهرمية المعقدة بكفاءة وبيانات متعلقة بالمجموعة في هياكل قاعدة البيانات المعقدة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3