Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2016, 18:53
kukiko11
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 5 meses
Puntos: 2
Pregunta Hacer cuatro COUNT con diferentes condiciones en una sola consulta?

tengo las siguientes tablas: 'comentarios' 'shares' 'likes' 'post' 'categorias'

necesito saber a traves de una sola consulta: cuantos puntos, likes, comentarios, y shares ha generado un determinado usuario segun la categoria...

De momento lo intento con:

Código MySQL:
Ver original
  1. SELECT c.nombre AS categoria, SUM(DISTINCT co.positivo) AS puntos, COUNT(DISTINCT co.id_comentario)AS comentarios,COUNT(DISTINCT l.id_like) AS likes, COUNT(DISTINCT s.id_share) AS shares FROM categorias c, comentarios co, likes l INNER JOIN post p LEFT JOIN shares s ON s.id_post=p.id_post WHERE c.id_categoria=p.id_categoria AND co.id_post=p.id_post AND co.id_usuario=$usuario GROUP BY categoria

y me esta resultando a excepcion de los likes que me aparecen siempre los mismos repartidos entre todas las categorias cuando en realidad solo una es la que tiene likes, help