سؤال

ولقد وجدت الهياكل الجدول التالي بينما كنت أشاهد روبي على القضبان البرنامج التعليمي.

table actors
id  int  11  primary key auto_increment
name  varchar  30

table movies
id  int  11  primary key auto_increment
name  varchar  30

table actors_movies
actor_id  int  11
movie_id  int  11

وكيف أقوم بإجراء استعلام لتحديد الأفلام التي فاعل وتشارك في؟

وأنا لا نطلب روبي على القضبان كود. أريد سلسلة الاستعلام الخلية الفعلية.

وشكرا لك!

هل كانت مفيدة؟

المحلول

وشيء واحد للنظر هو أن كنت تسير على تحميل كائن مؤلف (لنماذج رور)، وذلك مع ID سيكون كافيا:

select movies.id, movies.name
from movies inner join actors_movies
on actors_movies.movie_id=movies.id
where actors_movies.actor_id=$actor_id

نصائح أخرى

وربما شيء من هذا القبيل:

select m.name
from movies m
inner join actors_movies am on m.id = am.movie_id
inner join actors a on am.actor_id = a.id
where a.name = 'Christopher Walken'

وبسيط، ومجرد استخدام الجدول مجتمعة لربط الجداول فيلم / الممثل:

Select m.name 
From actors a
Inner Join actors_movies am On am.actor_id = a.id
Inner Join movies m On m.id = am.movie_id
Where a.name = @your_actor
select m.* from movies m 
inner join actors_movies am on am.movie_id  = m.id 
inner join actors a on a.id = am.actor_id 
where a.someField = somevalue
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top