SQL - Suma de un campo en sentencia SQL con GROUP BY

 
Vista:

Suma de un campo en sentencia SQL con GROUP BY

Publicado por José Antonio (5 intervenciones) el 12/12/2001 12:57:07
Hola a todos.

Tengo un sentencia SQL en el que agrupamos por un campo, y que a la vez sumamos otro campo, pero sólo los registro que cumplan una condición. Entonces si alguno de los registros del campo por que agrupamos, es cero en la suma del segundo campo, como puedo hacer que me aparezca el primer campo con el valor 0 en el segundo campo. Por eje.

SELECT sum(Habitantes) as SumaHabitantes, TABLAPROVINCIAS.Codprovincia FROM TABLAHABITANTES INNER JOIN TABLAPROVINCIAS ON TABLAHABITANTES.Codprovincia = TABLAPROVINCIAS.Codprovincia GROUP BY TABLAPROVINCIAS.Codprovincia

Yo quiero que me devuelva todos los códigos de provincia aunque el número de habitantes en TABLAHABITANTES sea 0. Por eje:

TABLAPROVINCIAS:
01 Sevilla
02 Madrid
03 Barcelona
04 Valencia

TABLAHABITANTES:
01 1000
02 1000
02 1000

quiero que me devuelva:
01 1000
02 2000
03 0
04 0.

Gracias por vuestra atención y ayuda.

José Antonio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Suma de un campo en sentencia SQL con GROUP BY

Publicado por Gonzalo Solano C. (18 intervenciones) el 13/12/2001 17:47:21
Jose:

Interesante tu pregunta, intenta lo siguiente

SELECT TABLAPROVINCIAS.CodProvincia,
'Habitantes' = CASE
WHEN SUM (TABLAHABITANTES.Habitantes) IS NULL THEN 0
ELSE SUM (TABLAHABITANTES.Habitantes)
END
FROM TABLAPROVINCIAS, TABLAHABITANTES
WHERE
TABLAPROVINCIAS.CodProvincia *= TABLAHABITANTES.CodProvincia
GROUP BY TABLAPROVINCIAS.CodProvincia

Disculpa si el nombre de las tablas o campos no es el mismo, si no es lo que necesitas avisame para ayudarte mejor

saludos desde BOLIVIA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar