Saldo

01/01/2008 - 22:39 por netzorro | Informe spam
Hola, espero puedan ayudarme,

tengo una tabla que lleva las entradas y salidas de un almacen. Estas son
las columnas principales.

producto, entrada, salida.

Quisiera lograr una query que me devolviera el saldo acumulado por producto,
es decir que al cambiar el producto el saldo acumulado vuevla a empezar, por
ejemplo:

Producto entrada salida saldo

Prod1 10 0 10
Prod1 5 0 15
Prod1 0 1 14
Prod2 20 0 20
etc

He buscado algunos ejemplos para el saldo pero nunca he encontrado el
agrupamiento por producto

muchas gracias
_______________
Diego
 

Leer las respuestas

#1 Carlos M. Calvelo
02/01/2008 - 16:43 | Informe spam
Hola Diego,

On 1 jan, 22:39, "netzorro" wrote:
Hola, espero puedan ayudarme,

tengo una tabla que lleva las entradas y salidas de un almacen. Estas son
las columnas principales.

producto, entrada, salida.

Quisiera lograr una query que me devolviera el saldo acumulado por producto,
es decir que al cambiar el producto el saldo acumulado vuevla a empezar, por
ejemplo:

Producto           entrada             salida            saldo

Prod1                10                    0                   10
Prod1                  5                    0                   15
Prod1                  0                     1                   14
Prod2                  20                   0                   20
etc

He buscado algunos ejemplos para el saldo pero nunca he encontrado el
agrupamiento por producto




Mira este ejemplo:

declare @T table (clave int not null primary key,
producto char(10),
entrada int,
salida int)

insert @T values (2,'Prod1',10,0)
insert @T values (3,'Prod1',5,0)
insert @T values (4,'Prod1',0,1)
insert @T values (1,'Prod2',20,0)

select a.producto, a.entrada, a.salida,
sum(b.entrada) - sum(b.salida) as saldo
from @T a inner join @T b
on a.producto = b.producto and a.clave >= b.clave
group by a.clave, a.producto, a.entrada, a.salida
order by a.producto, a.clave


He añadido la columna 'clave' para forzar un orden total.
Te advierto además que si tu tabla tiene muchos
registros este método va a ser muuuuuuy leeeeentoooooo.

Saludos,
Carlos

Preguntas similares