Hola a todos, estoy empezando a manejar las bases de datos en el entorno postgresql y tengo una duda.
tengo estas tablas con sus campos:
imdb_actors: actorid actorname
imdb_actormovies: actorid, movieid, numparticipation
imdb_movies: movieid, year
lo que quiero es sacar una tabla del tipo year, actorid, numparticipation.
es decir el actor con mas participaciones de cada año.
yo he hecho esta consulta:
(select am.actorid from imdb_actormovies am, imdb_movies m, imdb_actors a--, topActors2 t
where am.actorid = a.actorid and am.movieid=m.movieid and m.year= 'XXXX'
group by am.actorid order by sum(am.numparticipation) desc limit 1)
que te devuelve el actor con mas participaciones en el año xxxx. el problema que tengo es que no se como crear la tabla que necesito ya que lo he intntado de varias maneras:
creando una tabla auxiliar
create table topActors ( year text, actorid int, np int);
insert into topActors (year) select distinct year from imdb_movies;
update topActors set actorid=
(select am.actorid from imdb_actormovies am, imdb_movies m, imdb_actors a--, topActors t
where am.actorid = a.actorid and am.movieid=m.movieid and m.year= 'XXXX'
group by am.actorid order by sum(am.numparticipation) desc limit 1)
where topActors.year = 'YYYY' ;
de esta manera se inserta en el año yyyy de la tabla auxiliar pero cambiando xxxx por m.year o por t.year se insertan los registros del ultimo año en todos los años de la tabla auxiliar al igual q si cambio yyyy.
por ahora lo unico que estoy intntando esq en la tabla topActors se inserten los actores segun el año. Alguien me puede ayudar???