Julio, muchas gracias por responder.

Ahora, se me plantea una nueva duda con respecto a la sentencia (perdón por no 
haberla expuesto en el msg anterior)

Teniendo los datos de esta manera (se agrega una fecha)

drop table foo;

create table foo (
id serial not null,
tipo numeric(10) not null,
fecha date not null,
imp numeric(10,2) not null,
CONSTRAINT foo_id PRIMARY KEY (id)
);


insert into foo (fecha,tipo, imp) values ('01/01/2012'::date,1,30.5);
insert into foo (fecha,tipo, imp) values ('02/01/2012'::date,1,20.25);
insert into foo (fecha,tipo, imp) values ('03/01/2012'::date,2,30);
insert into foo (fecha,tipo, imp) values ('04/01/2012'::date,1,75.3);
insert into foo (fecha,tipo, imp) values ('05/01/2012'::date,1,75.3);
insert into foo (fecha,tipo, imp) values ('06/01/2012'::date,2,100);

insert into foo (fecha,tipo, imp) values ('15/04/2012'::date,1,30.5+7);
insert into foo (fecha,tipo, imp) values ('16/04/2012'::date,1,20.25+7);
insert into foo (fecha,tipo, imp) values ('17/04/2012'::date,2,30+7);
insert into foo (fecha,tipo, imp) values ('18/04/2012'::date,1,75.3+7);
insert into foo (fecha,tipo, imp) values ('19/04/2012'::date,1,75.3+7);
insert into foo (fecha,tipo, imp) values ('20/04/2012'::date,2,100+7);

insert into foo (fecha,tipo, imp) values ('22/05/2012'::date,1,30.5+17);
insert into foo (fecha,tipo, imp) values ('22/05/2012'::date,1,20.25+17);
insert into foo (fecha,tipo, imp) values ('23/05/2012'::date,2,30+17);
insert into foo (fecha,tipo, imp) values ('23/05/2012'::date,1,75.3+17);
insert into foo (fecha,tipo, imp) values ('24/05/2012'::date,1,75.3+17);
insert into foo (fecha,tipo, imp) values ('24/05/2012'::date,2,100+17);

SQL agregando la fecha.

select fecha,tipo1, tipo2, sum(imp) over (order by id)
  from (select id, fecha, imp as tipo1, 0 as tipo2, imp
          from foo
         where tipo= 1
         union
        select id, fecha, 0 as tipo1, imp as tipo2, imp*-1
          from foo
         where tipo= 2) Aux


La consulta es, cómo hacer para obtener datos "semi" detallados?

Digamos, quiero ver el detalle del mes 4, debería ejecutar el sql con el where 
correspondiente.
Pero el tema es que, la columna SUM, me acumula sobre los registros del where 
(es lógico porque es lo que le pido), estaría necesitando un acumulado de imp1 
imp2 y sum() para lo anterior a abril, que se muestre el detalle de abril 
movimiento por movimiento (pero que el acumulado sume lo anterior) y luego otro 
acumulado de todo lo que hay después de abril de forma resumida, en este caso, 
todo ordenado por fecha, mostrando algo asi:


fecha

imp1

imp2

acumulado

tipo

null

201,35

130

71,35

RESUMEN


15/04/2012

37,5

108,85

detalle

16/04/2012

27,25

136,1

detalle

17/04/2012

37

99,1

detalle

18/04/2012

82,3

181,4

detalle

19/04/2012

82,3

263,7

detalle

20/04/2012

107

156,7

detalle


null

269,35

164

262,05

RESUMEN



Se podrá resolver también?

Nuevamente, gracias
Saludos,
Conrado

Reply via email to