SQL Server - Re calcular saldo

   
Vista:

Re calcular saldo

Publicado por ricardo (6 intervenciones) el 17/08/2015 20:22:40
Buenos a todos tengo una duda : estoy trabajando con SQL Sever 2008 R2 y tengo una tabla Kardex

tengo los siguientes campos

Cod_Producto - Fecha - CanEntrada - CantSalida -SaldoTotal
0001 17/10/2015 - 10 - 0 - 10
0001 18/10/2015 - 20 - 0 - 30
0001 19/10/2015 - 40 - 0 - 70
0001 20/10/2015 - 0 - 20 - 50

Mi pregunta es la siguiente si yo elimino o actualizo el registro en donde ingrese 20,40 o posterior ítem como puedo hacer para re calcular de nuevo el saldo Total esa es mi duda que debo hacer .

Gracias por sus ayuda.
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
información
Otras secciones de LWP con contenido de SQL Server
- Cursos de SQL Server
- Temas de SQL Server
- Chat de SQL Server
información
Cursos y Temas de SQL Server
- Save binary data to SQL Server
- Curso de SQL Server
- Manual de SQL Server 7.0
Imágen de perfil de Isaias

Re calcular saldo

Publicado por Isaias (3186 intervenciones) el 17/08/2015 21:15:52
Te dejo este ejemplo, adáptalo a tus necesidades

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
drop table #Tmp
Create Table #Tmp(
Fecha_Hora smalldatetime,
No_Comprobante int,
No_Linea smallint,
Lote int,
Pcb smallint,
Pedido smallint,
Ingreso smallint,
Egreso smallint,
Saldo smallint
)
go
 
Insert into #Tmp values('2005-05-02 01:15:00',4,1,21,6,334,167,0,0)
Insert into #Tmp values('2005-05-03 15:07:10',5,1,29,6,167,167,0,0)
Insert into #Tmp values('2005-07-01 12:25:15',6,1,12,6,200,50,0,0)
Insert into #Tmp values('2005-07-01 21:05:52',25,1,1,6,200,0,140,0)
Insert into #Tmp values('2005-07-02 21:05:52',25,1,1,6,200,9,0,0)
Insert into #Tmp values('2005-07-03 21:05:52',25,1,1,6,200,0,140,0)
Insert into #Tmp values('2005-07-04 21:05:52',25,1,1,6,200,100,0,0)
Insert into #Tmp values('2005-07-05 21:05:52',25,1,1,6,200,0,150,0)
Insert into #Tmp values('2005-07-06 21:05:52',25,1,1,6,200,20,0,0)
Insert into #Tmp values('2005-07-07 21:05:52',25,1,1,6,200,0,20,0)
Insert into #Tmp values('2005-07-08 21:05:52',25,1,1,6,200,100,0,0)
Insert into #Tmp values('2005-07-09 21:05:52',25,1,1,6,200,0,20,0)
go
 
select
        a.fecha_hora,
        a.ingreso,
        a.egreso,
        sum(b.ingreso - b.egreso) as saldo
from
        #Tmp as a
        inner join
        #Tmp as b
        on b.Fecha_Hora <= a.Fecha_Hora
group by
        a.fecha_hora,
        a.ingreso,
        a.egreso
order by
        1 asc
go
 
drop table tmp
go


Si este calculo lo quieres hacer por producto, entonces debes agregar una
condicion mas al "inner join", que es:

1
a.product_id = b.productid
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

Re calcular saldo

Publicado por ricardo rsricardo25@gmail.com (6 intervenciones) el 17/08/2015 22:03:57
Muchas gracias voy a intentar adaptarlo gracias
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