Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

USO de SUM

Estas en el tema de USO de SUM en el foro de SQL Server en Foros del Web. Hola, De antemano muchas gracias por la ayuda. Necesito la suma de una consulta y me funciona bien si pongo sum(nombre columna) pero si a ...
  #1 (permalink)  
Antiguo 04/10/2012, 09:07
Avatar de juanchupin  
Fecha de Ingreso: abril-2007
Ubicación: MedellÃ*n, Antioquia, Colombia
Mensajes: 43
Antigüedad: 17 años
Puntos: 3
De acuerdo USO de SUM

Hola,
De antemano muchas gracias por la ayuda.

Necesito la suma de una consulta y me funciona bien si pongo sum(nombre columna) pero si a esa consulta le añado otra columna no me funciona.

Les doy ejemplos para ubicar un poco el problema.

Sí yo consulto así:
Código:
SELECT SUM(D.Numero_Estudiantes) AS Total_Estudiantes
FROM [CL Docencia] AS D
WHERE D.Fecha BETWEEN '2012/10/03'AND '2012/10/4
Me da el resultado que necesito perfecto me dice que Total_Estudiante es 500

Pero a esa consulta necesito meterle mas columnas por ejemplo si le meto otra llamada fecha quedaría así

Código:
SELECT SUM(D.Numero_Estudiantes) AS Total_Estudiantes, D.Fecha
FROM [CL Docencia] AS D
WHERE D.Fecha BETWEEN '2012/10/03'AND '2012/10/4'
Me da un erro que dice
Msg 8120, Level 16, State 1, Line 1
Column 'CL Docencia.Fecha' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


Según leo debo agrupar y lo hago así
Código:
SELECT SUM(D.Numero_Estudiantes) AS Total_Estudiantes, D.Fecha
FROM [CL Docencia] AS D
WHERE D.Fecha BETWEEN '2012/10/03'AND '2012/10/4'
GROUP BY d.Fecha
Me arroja resultado pero no el que necesito ya que no me da Total_Estudiante es 500 que me lo divide en varios resultados
por ejemplo:
404 2012-10-03
6 2012-10-04

Y yo necesito es el resulta total como lo mostra en la primera consulta.
  #2 (permalink)  
Antiguo 04/10/2012, 10:01
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: USO de SUM

Puedes meter un COMPUTE, pero entonces no tiene caso que quieras desplegar cada fecha, ¿para que si no quieres la suma por cada fecha?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 04/10/2012, 10:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: USO de SUM

estas usando un group by por fecha, entonces por cada fecha diferente te dara un resultado diferente, necesitas sacar el total de alumnos y ademas las fechas? primero analiza bien que es lo que quieres obtener y ya puedes partir de ahi :)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 09/10/2012, 10:42
Avatar de juanchupin  
Fecha de Ingreso: abril-2007
Ubicación: MedellÃ*n, Antioquia, Colombia
Mensajes: 43
Antigüedad: 17 años
Puntos: 3
Respuesta: USO de SUM

Hola muchas gracias por la respuesta.

Tienen toda la razón no puedo sacar un total de estudiantes en esa consulta, hice ese total desde el lenguaje de programación, simplemente acumule la columna estudiantes y listo, lo quería hacer desde la consulta pero gracias a ustedes y otras personas vi que no se podía entonces lo hice por lenguaje.

Muchas gracias

Etiquetas: select, sum
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:30.