SQL Server - Suma acumulada

   
Vista:

Suma acumulada

Publicado por germancho (3 intervenciones) el 15/04/2008 15:31:38
Hola señores, algunos de los Master en sql Server 2005 me podría ayudar con esto porfa'....resulta que tengo una consulta típica la cual me arroja todas las ventas, tanto cantidad como montos, de un período determinado, nada nuevo, ahora lo atípicoes: como puedo, en la misma consulta, obtener una suma acumulada por período.

Ej: Si en Enero tengo 5 ventas y en febrero tengo 3 ventas, el acumulado hasta febrero son 8, si en Marzo tengo 2 ventas, el acumulado hasta Marzo son 10, y así sucesivamente. Si alguien me puede dar una ayudita óptima porfavor, o si conoce algún truco por ahi bienvenido sea, de antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Suma acumulada

Publicado por Isaias (3308 intervenciones) el 15/04/2008 20:07:49
Sin duda, debe ser algo muy parecido a esto:

create table t1 (
Codigo varchar(15) not null unique,
Detalle varchar(25),
Importe money,
Porcentaje decimal (5, 2)
)
go

insert into t1 values('11111', 'xxxxxx', 100.00, 5.5)
insert into t1 values('88888', 'yyyyyy', 55.50, 4.8)
insert into t1 values('33333', 'aaaaaa', 55.00, 4.8)
insert into t1 values('99999', 'wweew', 40.00, 4.0)
go

select
a.codigo, a.detalle, a.importe, a.porcentaje,
sum(b.porcentaje) as porcentaje_acumulado
from
t1 as a
left join
t1 as b
on a.porcentaje < b.porcentaje
or (a.porcentaje = b.porcentaje and a.codigo >= b.codigo)
group by
a.codigo, a.detalle, a.importe, a.porcentaje
order by
a.porcentaje desc, a.codigo
go

drop table t1
go
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar