استفسار SQL المتداخل
-
27-09-2019 - |
سؤال
لدي الجداول التالية:
النادي: club_id | العنوان | Created_date | ...
club_intesect: user_id | club_id | وصول
أحاول تحديد عدد متغير من الأندية ، والانضمام إلى معرف المستخدم مع أعلى وصول في هذا النادي. يعتبر هذا الشخص المالك.
لذلك إذا كان لدى Club 100 أعضاء A و B و C مع الوصول 3،4 و 5 على التوالي: أريد أن يختار الاستعلام النهائي من النادي:
Club.Club_ID Club.Title Club.Created_Date Club_Intersect.User_ID
100 | "Test Club" | "Creation Date" | C |
101 | "Test Club 2" | "Creation_Date" | Highest Access User |
...
المحلول
SELECT * FROM Club c
JOIN Club_Intesect ci ON ci.Club_ID = c.Club_ID
WHERE ci.Access = (SELECT MAX(Access) FROM Club_Intesect WHERE Club_ID = c.Club_ID)
لم يتم اختباره ولكنك تحصل على الفكرة
نصائح أخرى
SELECT * FROM Club WHERE CLUB_ID = (SELECT Club_ID FROM Club_Intersect ORDER BY Access DESC LIMIT 1);
أعتقد أن ذلك سيعمل على اختيار النادي الذي تريده ، باستخدام استعلام SQL المتداخل. لم تحدد ما تريده في نتائجك التي تم إرجاعها ، لأن هذا الاستعلام سيسترجع فقط أعمدة النادي.
لا تنتمي إلى StackOverflow