SQL - Agrupacion con GROUP BY

   
Vista:

Agrupacion con GROUP BY

Publicado por Ernesto (2 intervenciones) el 06/12/2008 21:03:19
Tengo una base de datos de las películas que tengo en mi casa. Tengo los siguientes campos:
Temática, Director, Actor.
Quiero una consulta que me saque una lista de todas las temáticas, directores y actores en los que se cumplan las 3 campos al mismo tiempo y me diga cuántas veces se repiten.

Algo así:
SELECT tema.nombre, director.nombre, actor.nombre FROM Tematica tema, Directores director, Actores actor WHERE ... GROUP BY tema.nombre, director.nombre, actor.nombre
Pero esto está mal, claro.

Por ejemplo, que me saque cuantas veces han trabajado juntos Sam Raimi, Bruce Campbell en una película de terror y que también me saque Sam Raimi, Tobey McGuire en una película de superhéroes. O sea, que quiero una lista de todas las películas de Sam Raimi, diciéndome cuántas veces ha trabajado con los actores que salen en todas las temáticas en las que ha trabajado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Agrupacion con GROUP BY

Publicado por Gerardo Magaña (13 intervenciones) el 12/12/2008 00:04:25
Hola que tal, me parece que la sentencia que estas haciendo esta bien, solo adicionala un campo para contar y la sentencia quedaria mas o menos asi
SELECT tema.nombre, director.nombre, actor.nombre count(actor.nombre) as cantidad
FROM Tematica tema, Directores director, Actores actor WHERE ... GROUP BY tema.nombre, director.nombre, actor.nombre

con esto te debe de funcionar, si no fuera asi comentamelo y buscamos ora forma de hacerlo, espero haberte podido ayudar.

p.d. el campo que esta dentro de la funcion coun() no necesariamente tiene que ser ese lo pudes cambiar por otro el resultado deberia de ser igual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Agrupacion con GROUP BY

Publicado por Ernesto (2 intervenciones) el 12/12/2008 19:14:34
Es exactamente lo que buscaba, ahora me sale como quería, un ejemplo:

Terror Sam Raimi Bruce Campbell 5
Terror John Carpenter Jamie Lee Curtis 5
Terror Clive Barker Andrew Robinson 1
.....
Scifi Sam raimi Tobey Mcguire 3
.....

Si no es abusar como podría sumar los resultados obtenidos por género, por ejemplo en este caso en género Terror serían 3 aunque en realidad serían 11 pero me interesa que me diga que son 3 ya que el resto hasta 11 son coincidencias que quiero descartar.

Ahora seguiré trabajando en mi web de cine, a ver si algún dia la acabo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Agrupacion con GROUP BY

Publicado por Gerardo Magaña (13 intervenciones) el 17/12/2008 23:29:25
eso me parece un poco mas complicado, pero se me ocurre no se si te funcione que hagas una vista con la primera sentencia que generamos donde te da los resultados que buscabas en la primera pregunta , apartir de esa vista podemos hacer una sentencia parecida a la primera, por ejemplo

la visa nos daria los resultados:

genero director actor cantidad
Terror Sam Raimi Bruce Campbell 5
Terror John Carpenter Jamie Lee Curtis 5
Terror Clive Barker Andrew Robinson 1

la sentencia seria mas o menos asi:

select genero, count(cantidad)
from vista

y listo ojala te sriva este ejemplo y tengas la posibilidad de poder hacer la vista, eso te ayudaria bastante.

saludos y sigo a tus ordenes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar