فاديا جميل نشر 21 أكتوبر 2021 أرسل تقرير نشر 21 أكتوبر 2021 لدي جدول لسجل مشاهدة الأفلام لكل مستخدم، وأريد عرض الأفلام التي لم يشاهدها للآن بناءاً على الربط عن طريق رقم المستخدم 2 اقتباس
1 Wael Aljamal نشر 21 أكتوبر 2021 أرسل تقرير نشر 21 أكتوبر 2021 يمكننا عمل استعلام فرعي يعيد لنا الأفلام التي تمت مشاهدتها من قبل مستخدم ما، ثم نعمل الربط على عدم وجود هذه القائمة من معرفات الأفلام في سجل المشاهدة للمستخدم أي NOT EXISTS SELECT * FROM my_movies m -- جدول الأفلام WHERE NOT EXISTS ( -- عمل فلترة عكسة - غير موجود SELECT * FROM seen s -- جلب بيانات جدول المشاهدات WHERE s.movie_id = m.id -- عمل الربط حسب رقم الفيلم AND s.user_id = 999 -- ورقم المستخدم ); أو نستخدم الربط LEFT OUTER JOIN: جدول الأفلام هو الجدول اليساري جدول المشاهدة هو الجدول اليميني الربط حسب رقم الفيلم عمل فلترة حسب رقم المستخدم فلترة الأفلام التي لم تتم مشاهدتها SELECT * FROM my_movies m LEFT OUTER JOIN seen s ON (m.id = s.movie_id AND s.user_id = 999) WHERE s.movie_id IS NULL; 1 اقتباس
السؤال
فاديا جميل
لدي جدول لسجل مشاهدة الأفلام لكل مستخدم، وأريد عرض الأفلام التي لم يشاهدها للآن بناءاً على الربط عن طريق رقم المستخدم
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.