Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿cómo hacer una sumatoria acumulativa?

Supongamos que con la instrucción:
Código SQL [-]
select Importe from articulos
obtengo:
Código:
Importe     
3.0
2.5
5.0
3.5

¿que tendría que hacer para conseguir una sumatoria acumulativa?
Código:
Importe       SumAcum    
3.0            3.0
2.5            5.5
5.0            10.5    
3.5            13.5
¿alguien tiene alguna idea de lo que debo consultar o investigar para obtener ese resultado?
__________________

Responder Con Cita
  #2  
Antiguo 14-07-2006
Avatar de lpmlpm
lpmlpm lpmlpm is offline
Miembro
 
Registrado: ago 2005
Posts: 136
Poder: 19
lpmlpm Va por buen camino
En firebird....

Código SQL [-]
select a.Importe,
 (select sum(a2.Importe) from articulos a2 where a2.orden <= a.orden)
from articulos a
order by a.orden

Solo tienes que considerar el hecho de que debe haber un criterio para saber en que orden se iran sumando las acumulaciones... en este caso introduje un campo de orden... de otro modo se sumarian basados en el mismo importe y habría que presentar la consulta con los importes ordenados...
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
Responder Con Cita
  #3  
Antiguo 14-07-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Quizas usando una tabla temporal y recorriendo/insertando los valores desde un cursor, de la forma:

declare m_cursor cursor for sentenciaselect

abrir cursor
recorrer cursor mientras haya records
@sumatoria += valorcampo
insertar en la #tablatemporal
finrecorrer
cerrar y destruir cursor

select from #tablatemporal

Mas ayuda sobre cursores en los Books Online
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sumatoria de totales con Qreport... uper Impresión 1 23-06-2005 17:34:15
Sumatoria de campos tipo Time COCOL SQL 2 27-04-2005 01:03:51
Sumatoria de campos jzginez Impresión 1 16-03-2004 20:21:49


La franja horaria es GMT +2. Ahora son las 12:13:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi