مساعدة : ربط جداول في قواعد البيانات ( SQL )

  • mo7@mmed

السلام عليكم

أريد مساعدة في ربط الجدوال في قاعدة البيانات

لدي جدول في قاعدة البيانات users

بداخله عدة صفوف id - username - email ... etc

ولدي جدول اخر اسمه followers هذا الجدوال الخاص بالمتابعين

بداخلة id - followers_id - following_id

حيث أن followers_id هو المتابع أما followers_id هو الشخص الذي اتابعه أنا على سبيل المثال

الفكرة التي اريد تنفيذها هي ربط هذين الجدولين بحيث طلب الاعضاء من جدول users بحسب الأكثر متابعة following_id

فهل من مساعدة إخوتي

وجزاكم الله خيرا ً

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

ياسين المفتوحي أضف ردا

select users.id AS id,count(followers.id) AS nbr_followers from (users left join followers on((users.id = followers.following_id))) group by users.id order by nbr_followers desc

بالتوفيق

احسنت أخي وضحت لي الفكرة

قمت بالتجربة ونجح الأمر

شكرا جزيلا لك لقد انقذتني ^__^

مرحبا، هذا واجب

هذه العلاقة تسمى many to many self join

استخدم جوجل وستجد ضالتك

هل ستقوم هذه العلاقة بربط الجدوال مع بعضها البعض وترتيب الأعضاء على حسب الأعضاء الأكثر متابعة ؟

شكرا لك على المعلومة وجاري البحث ...

أضف صفا واحدا في جدول USERS لحفظ مجموع المتابعين، وليكن اسمه على سبيل المثال: FOLLOWERS_NUM

وعندما تطلب الأعضاء، اطلبهم بحسب هذا الصف.

ويتم تحديث هذا الصف مع عمليات المتابعة وإلغاء المتابعة.

mo7@mmed أضف ردا

فكرت في هذه الطريقة ولكن هذا الشيء سيجعلني أقوم بالكثير من التغييرات في المشروع وهذا شيء متعب

مرحباً أخي مشكلتي ليس foreign key فأنا اعرف هذا الشيء

مشكلتي هي كيفيفة طلب النتائج من قاعدة البيانات بحسب الأعضاء الأكثر متابعة 

اي كيف سيكون شكل الإستعلام