Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/11/2010, 07:18
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda mysql devuelva dato null con group by

Código MySQL:
Ver original
  1.      g.idgenero,
  2.      COUNT(g.descripcion) contarGenero
  3.      t_persona p LEFT JOIN t_genero g ON g.idgenero = p.idgenero
  4. GROUP BY idgenero
  5. ORDER BY idgenero IN(2,1,3)
Tienes que usar de tabla base los géneros y no las personas. Esto es porque la idea de LEFT JOIN es que te devuelva lo que hay en la primera tabla (es la de la izquierda) que conincida o no con la segunda (derecha).
Como la tabla personas tiene baja cardinalidad en géneros (sólo figuran 2), no te devovlerá jamás de la derecha un registro que coincida con los que no existen en ella.

¿Se entiende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)