Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta compleja

Estas en el tema de Consulta compleja en el foro de Bases de Datos General en Foros del Web. Buenas necesito saber urgentemente como solucionar esta consulta que me trae de cabeza, tenia una solucion pero no es buena y no sirve! Mira son ...
  #1 (permalink)  
Antiguo 26/08/2009, 10:52
 
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Busqueda Consulta compleja

Buenas necesito saber urgentemente como solucionar esta consulta que me trae de cabeza, tenia una solucion pero no es buena y no sirve!
Mira son dos tablas, la tabla Autor y la tabla Comentario. La tabla autor tiene los campos de codigoautor y nombre y demas... y el comentario tiene el codigo del comentario, el codigo del autor y el codigo de la entrada (porque un comentario se ha hecho apartir de una entrada), que es indifierente el codigo de la entrada para la consulta que necesito.

Necesito obtener un lstado de los autores, ordenados de forma descendente, por el numero del comentario que han realizado.
He probado con vistas, subconsultas... y nada bueno! Con las vistas tube una solucion pero no esta bien porque necesito el "group by" para agrupar y en las vists no puedo agrupar ni usar la insutrucion "count".

Si alguien me puede hechar un cable se lo agradeceria muxo!!!
Gracias y un saludo!
  #2 (permalink)  
Antiguo 26/08/2009, 11:22
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Consulta compleja

Código sql:
Ver original
  1. SELECT nombre_autor FROM Autor LEFT JOIN Comentario ON Autor.codigoautor = Comentario.codigoautor ORDER BY codcomentario DESC


nos cuentas
  #3 (permalink)  
Antiguo 26/08/2009, 11:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Consulta compleja

Perdon creo q me explicado mal.
El listado que debe aparecer seria algo asi:
Nombre SUMA_COMENTARIOS (Los nombres de los campos)
Pablo 10
Maria 5
Jose 2

El campo suma_comentarios tiene que ser un campo calculado de la tabla comentarios.
  #4 (permalink)  
Antiguo 26/08/2009, 11:46
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: Consulta compleja

para sumar los comentarios totales por autor debes usar la funcion sum
  #5 (permalink)  
Antiguo 26/08/2009, 12:01
 
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Consulta compleja

y podrias decirme como seria?
Me sera de gran ayuda.
  #6 (permalink)  
Antiguo 26/08/2009, 12:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 10
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Consulta compleja

con una left join no se puede realizar este tipo de consultas, es mas compleja
  #7 (permalink)  
Antiguo 26/08/2009, 14:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta compleja

Creo que no nos has dicho cuál es tu base.
Sí que se puede, pero debes mostrar 0 cuando no hay relacionados comentarios con algún autor. Prueba con algo así. En el caso de usar una base MySQL, te podría valer alguna consulta como esta:
Código sql:
Ver original
  1. SELECT nombre_autor, IFNULL(COUNT(*),0) totalcomentarios
  2.  FROM Autor LEFT JOIN Comentario ON Autor.codigoautor = Comentario.codigoautor GROUP BY Autor.codigoautor
  3.  ORDER BY totalcomentarios DESC

Última edición por jurena; 27/08/2009 a las 02:23
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.