Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   ¿cómo hacer una sumatoria acumulativa? (https://www.clubdelphi.com/foros/showthread.php?t=33717)

ContraVeneno 14-07-2006 19:04:13

¿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?

lpmlpm 14-07-2006 20:55:48

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...

__hector 14-07-2006 20:56:12

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


La franja horaria es GMT +2. Ahora son las 15:38:53.

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