Question

J'ai trouvé les structures de table suivantes pendant que je regardais le didacticiel Ruby on rails.

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

Comment faire une requête pour sélectionner les films dans lesquels un acteur est impliqué?

Je ne demande pas le code ruby ??on rails. Je veux la chaîne de requête mysql réelle.

Merci!

Était-ce utile?

La solution

Une chose à considérer est que vous allez charger l'objet auteur (à cause des modèles RoR), donc avec l'ID suffirait:

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

Autres conseils

Peut-être quelque chose comme ceci:

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'

Simple, utilisez simplement la table combinée pour rejoindre les tables film / acteur:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top