Pregunta

Encontré las siguientes estructuras de tabla mientras veía el tutorial de 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

¿Cómo hago una consulta para seleccionar películas en las que participa un actor?

No estoy pidiendo el código ruby ??on rails. Quiero la cadena de consulta mysql real.

¡Gracias!

¿Fue útil?

Solución

una cosa a tener en cuenta es que va a cargar el objeto de autor (debido a los modelos RoR), por lo que con la ID sería suficiente:

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

Otros consejos

Quizás algo como esto:

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, solo use la tabla combinada para unirse a las tablas de películas / actores:

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top