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

SUMA de la SUMA ???

Estas en el tema de SUMA de la SUMA ??? en el foro de SQL Server en Foros del Web. Hola amigos, les cuento mi problema: Tengo el siguiente codigo: Cita: SELECT SUM(a_produccion.cant_produccion) * a_mano_obra.val_pag AS Pago FROM a_produccion INNER JOIN a_mano_obra AS a_mano_obra ON ...
  #1 (permalink)  
Antiguo 19/04/2007, 02:56
Avatar de magosc  
Fecha de Ingreso: diciembre-2006
Mensajes: 72
Antigüedad: 17 años, 11 meses
Puntos: 0
SUMA de la SUMA ???

Hola amigos, les cuento mi problema:

Tengo el siguiente codigo:
Cita:
SELECT SUM(a_produccion.cant_produccion) * a_mano_obra.val_pag AS Pago
FROM a_produccion INNER JOIN a_mano_obra AS a_mano_obra ON a_produccion.cod_prod = a_mano_obra.cod_prod
WHERE (a_mano_obra.cod_puesto = 1) AND (a_produccion.fec_in BETWEEN CONVERT(DATETIME, '2000-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2008-01-01 00:00:00', 102))
GROUP BY a_mano_obra.cod_puesto, a_produccion.cod_prod, a_mano_obra.val_pag
Y me devuelve una columna con los datos que necesito, sin embargo, necesito sumar todo eso de nuevo para que me de un solo resultado...

Trate con esto...pero no me funcionó
Cita:
SELECT SUM( SUM(a_produccion.cant_produccion) * a_mano_obra.val_pag )AS Total
FROM a_produccion INNER JOIN a_mano_obra AS a_mano_obra ON a_produccion.cod_prod = a_mano_obra.cod_prod
WHERE (a_mano_obra.cod_puesto = 1) AND (a_produccion.fec_in BETWEEN CONVERT(DATETIME, '2000-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2008-01-01 00:00:00', 102))
GROUP BY a_mano_obra.cod_puesto, a_produccion.cod_prod, a_mano_obra.val_pag
Gracias por su ayuda!...
  #2 (permalink)  
Antiguo 19/04/2007, 08:39
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 11 meses
Puntos: 38
Re: SUMA de la SUMA ???

Si lo que requieres es solo la suma total, no lo agrupes (elimina la clausula group by), solo realiza la suma...

por ejemplo

Código:
SELECT  SUM(p.cant_produccion * m.val_pag) AS Pago
FROM   a_produccion  p
INNER JOIN 
       a_mano_obra AS m
ON     p.cod_prod = m.cod_prod 
WHERE  m.cod_puesto = 1        AND 
       p.fec_in BETWEEN CONVERT(DATETIME, '2000-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2008-01-01 00:00:00', 102)
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 19/04/2007, 19:10
Avatar de magosc  
Fecha de Ingreso: diciembre-2006
Mensajes: 72
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: SUMA de la SUMA ???

Gracias Andre...
Pero mi problema es el siguiente.....el primer codigo que puse lo que hace es devolverme la suma de las multiplicaciones que necesito, es decir, por ejemplo:

100.00
200.00
300.00
150.00

sin embargo, yo necesito que ademas de esas sumas, me devuelva la suma de esas cantidades....es decir, en este caso, quisiera que me devolviese la cantidad de 750.


gracias
  #4 (permalink)  
Antiguo 26/04/2007, 11:05
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Re: SUMA de la SUMA ???

Revisa la clausula WITH ROLLUP o WITH CUBE. Tienen sus bemoles, pero llega a ser muy útil.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 22:17.