Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2012, 16:10
j0n1_1nc
 
Fecha de Ingreso: junio-2010
Mensajes: 18
Antigüedad: 14 años, 5 meses
Puntos: 1
Consulta multitabla y count()

Hola que tal, como andan?

Hace poco que empeze con esto de las consultas multitablas asique se me complica bastante...

Lo que necesito hacer es un conteo en dos tablas diferentes y a la vez traer registros de otra tabla diferente a las anteriores.

Esto se compone mas o menos asi:

Código:
Tabla votos:

id_noticia | id_usuario
1            | 6
2            | 5
2            | 8
2            | 5
Código:
Tabla comentarios:

id_noticia | id_usuario
1            | 6
2            | 5
2            | 8
2            | 5

Código:
Tabla noticias:

id_noticia | contenido
1            | blabla
2            | blabla
3            | blabla
4            | blabla

La idea es traer la cantidad de comentarios y votos, segun id_noticia

esto lo logro con la siguente consulta


Código MySQL:
Ver original
  1. SELECT n.id_noticia, n.contenido, COUNT(v.id_noticia) AS votos_, COUNT(c.id_noticia) AS comentarios_
  2. FROM noticias AS n
  3. LEFT JOIN votos AS v ON n.id_noticia = v.id_noticia
  4. LEFT JOIN comentarios AS c ON n.id_noticia = c.id_noticia
  5. GROUP BY n.id_noticia


Como veran, hago un conteo de los comentarios y votos, y traigo el contenido de cada noticia. Esto funciona perfecto, solo que hay un inconveniente, cuando se ejecuta la consulta, me devuelve los campos votos_ y comentarios_ con el mismo valor (el valor de comentarios_), si quito alguno de los LEFT JOIN funciona bien.. pero necesito hacer todo en una consulta.. espero puedan ayudarme

Gracias de antemano.