Error subconsulta MySQL
Voy a tratar de ser lo m谩s claro posible.
Para que tengan una idea, estoy hacien un sistema para registrar pel铆culas. En cuesti贸n, tengo 3 bases de datos: movies, reparto y actores.
La BD reparto tiene los campos id_movie e id_actor. La BD actores tiene los campos id_actor y descripci贸n.
Lo que quiero hacer, y me estoy equivocando, es hacer una consulta que me traiga solamente las peliculas en las que trabaje un determinado actor. La consulta que hago es la siguiente:
SELECT movies.* FROM movies WHERE movies.id IN (SELECT DISTINCT(reparto.id_movie) FROM reparto INNER JOIN actores ON reparto.id_actor=actores.id_actor WHERE actores.descripcion LIKE '%Smith%');
Estoy cometiendo un error. Sino, no me dar铆a error. Pero como reci茅n estoy empezando con esto de las subconsultas, no encuentro como solucionarlo.
Si alguien me puede dar una mano, sera agradecida.
Saludos.
Para que tengan una idea, estoy hacien un sistema para registrar pel铆culas. En cuesti贸n, tengo 3 bases de datos: movies, reparto y actores.
La BD reparto tiene los campos id_movie e id_actor. La BD actores tiene los campos id_actor y descripci贸n.
Lo que quiero hacer, y me estoy equivocando, es hacer una consulta que me traiga solamente las peliculas en las que trabaje un determinado actor. La consulta que hago es la siguiente:
SELECT movies.* FROM movies WHERE movies.id IN (SELECT DISTINCT(reparto.id_movie) FROM reparto INNER JOIN actores ON reparto.id_actor=actores.id_actor WHERE actores.descripcion LIKE '%Smith%');
Estoy cometiendo un error. Sino, no me dar铆a error. Pero como reci茅n estoy empezando con esto de las subconsultas, no encuentro como solucionarlo.
Si alguien me puede dar una mano, sera agradecida.
Saludos.
Hola fercucho, creo que tu problema es debido a la versi贸n del servidor MySQL, a partir de la versi贸n 4.1 acepta todas las formas de subconsultas requeridas por el estandar SQL. Por lo tanto tendr铆as que rehacer tu consulta de la siguiente forma:
SELECT movies.*
FROM actores
inner join reparto on actores.id_actor = reparto.id_actor
inner join movies on reparto.id_movie = movies.id_movie
WHERE actores.descripcion LIKE '%Smith%';
Espero te sirva.
SELECT movies.*
FROM actores
inner join reparto on actores.id_actor = reparto.id_actor
inner join movies on reparto.id_movie = movies.id_movie
WHERE actores.descripcion LIKE '%Smith%';
Espero te sirva.
