Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/06/2014, 06:35
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: 1 consulta, 4 partes

Cita:
la segunda query, la de coins (tabla playerpoints) puede devolverme null, porque no existen registros de todos los usuarios, y eso me hace que la query entera me devuelva NULL si la uno con cualquiera de las otras, y mi segundo problema es que no se como unir las otras dos querys con COUNT en una sola query con las otras.
El problema es básicamente que no puedes usar un simple JOIN y menos aún un JOIN implícito cuando tienes una relación opcional en una de las tablas de una query compuesta. Forzosamente debes usar JOINs explícitos (INNER, LEFT o RIGHT), y en especial LEFT JOIN.
El tema de los nulos en la relación se resuelve con funciones como IFNULL(), y COUNT() devolverá cero donde haya NULLs.
No se trata de una consulta compleja de hacer, pero es probable que haya que usar tablas derivadas (queries como tablas del FROM), para lograr eso, y que no se produzcan productos cartesianos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)