Como sumar el contenido de los registros anteriores

20/04/2005 - 15:22 por Bárbara González | Informe spam
Saludos al grupo
Estoy haciendo la presentación de una tabla pero necesito que en una de las
columnas se valla llevando el acumulado de una columna monto, algo asi como
debe, haber, saldo en donde saldo es la suma de los anteriores registro. He
podido hacer que me lo haga con una subconsulta en el campo saldo, pero no
logro validar que no me tome los siguientes registros. Alguien puede
ayudarme para no hacerlo por programación si no por una consulta SQL. Claro
si se puede. Gracias de antemano

Bárbara González
Venezuela.-
 

Leer las respuestas

#1 Alejandro Mesa
20/04/2005 - 15:40 | Informe spam
Bárbara,

Pudieramos ver la definicion de la tabla?

Ejemplo:

use northwind
go

create table dbo.t (
colA int not null identity unique,
colB int not null,
colC int not null,
)
go

insert into t (colB, colC) values(1, 100)
insert into t (colB, colC) values(1, -100)
insert into t (colB, colC) values(1, 200)
insert into t (colB, colC) values(1, -100)
insert into t (colB, colC) values(1, 50)
insert into t (colB, colC) values(1, 25)
insert into t (colB, colC) values(2, 1000)
insert into t (colB, colC) values(2, -100)
insert into t (colB, colC) values(2, 300)
insert into t (colB, colC) values(2, -100)
insert into t (colB, colC) values(2, 150)
insert into t (colB, colC) values(2, -25)
go

select
a.colA,
a.colB,
a.colC,
sum(b.colC) as acumulado
from
t as a
left join
t as b
on a.colB = b.colB and b.colA <= a.colA
group by
a.colA,
a.colB,
a.colC
order by
a.colA,
a.colB
go

drop table t
go


AMB


"Bárbara González" wrote:

Saludos al grupo
Estoy haciendo la presentación de una tabla pero necesito que en una de las
columnas se valla llevando el acumulado de una columna monto, algo asi como
debe, haber, saldo en donde saldo es la suma de los anteriores registro. He
podido hacer que me lo haga con una subconsulta en el campo saldo, pero no
logro validar que no me tome los siguientes registros. Alguien puede
ayudarme para no hacerlo por programación si no por una consulta SQL. Claro
si se puede. Gracias de antemano

Bárbara González
Venezuela.-



Preguntas similares