Obtener el sub total saldo

Quiero obtener el saldo, cuando tenga la primera entrada que me muestre en saldo(100), ahora para la segunda entrada saldo(300) y cuando aia una salida me lo reste del saldo que tengo (300-50) y me muestre 250 por favor si puede me lo envía a mi correo (xxxxxx)  gracias
Tiponota cantidadsalida cantidadentrada saldo
Entrada 100 0 100
entrda 200 0 300
salida 0 50 250
salida 0 50 200

1 respuesta

Respuesta
1
Te doy una respuesta sencilla:
Creo la tabla de ejemplo:
Create table saldos
(
Tiponota VARCHAR2(20),
cantidadsalida NUMBER,
cantidadentrada NUMBER
);
Inserto los datos de ejemplo:
insert into saldos(tiponota, cantidadsalida, cantidadentrada) values ('entrada', 100, 0);
insert into saldos(tiponota, cantidadsalida, cantidadentrada) values ('entrda', 200, 0);
insert into saldos(tiponota, cantidadsalida, cantidadentrada) values ('salida', 0, 50);
insert into saldos(tiponota, cantidadsalida, cantidadentrada) values ('salida', 0, 50);
commit;
Consulta:
select s.*,
sum(cantidadsalida)over(order by rownum)-sum(cantidadentrada)over(order by rownum) as tot
from saldos s;
Si la ejecutas, obtendrás el resultado deseado.
Como observas, se usa una función analítica, la cual va acumulando según el orden de aparación de la tupla; si posees un orden de un campo tipo fecha o id, entonces puedes sustituir rownum por ese campo.
Enviado correo con esta misma respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas