سؤال

لدي الجداول التالية:

النادي: 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 المتداخل. لم تحدد ما تريده في نتائجك التي تم إرجاعها ، لأن هذا الاستعلام سيسترجع فقط أعمدة النادي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top