Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/07/2012, 06:43
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: Valor 0 consulta


Cita:
si quisiera introducir claúsulas where, donde tendría que introducirlas para que me dieran los 0


Disculpa mi asombro, pero lo que estás preguntando muestra que te está faltado estudiar mucho SQL, o bien lo que te han enseñado está espantosamente mal, así que la primera recomendación es que antes de seguir adelante con tu proyecto, te detengas un poco a estudiar el tema de Base de Datos y especialmente SQL.
Evitará que te metas en serios problemas de desarrollo en el futuro próximo.

Ahora pasemos a contestarte:
1) La cláusula WHERE va siempre en un único lugar, y no puede jamás ir en otro sin generar un error de sintaxis: Inmediatamente después del FROM. Eso es el estándar y no se cambia en ningún DBMS.
2) Que te salgan ceros no depende de que valgan cero en tu caso, sino que dependen de que no haya valores relacionados, con lo que lo que debes buscar no es el cero (0) sino el NULL, que no es lo mismo.
3) El NULL no se puede buscar usando "=", porque no es un dato. Es un estado o puntero a la nada, y para determinar si algo es NULL se usa IS NULL o bien IS NOT NULL, aplicado sobre el campo correspondiente.

Sería mas o menos algo así:
Código MySQL:
Ver original
  1. SELECT T1.a, T1.b, T1.c, SUM(T2.d) d
  2. FROM T1 LEFT JOIN T2 ON T1.a = T2.a
  3. GROUP BY T1.a;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 11/07/2012 a las 11:22