Consulta de Tipo Kardex Con Formato de Cortes

09/01/2008 - 19:08 por Dany Acosta | Informe spam
Amigos,
necesito hacer una consulta tipo kardex con pura sentencia SQL y tener el
siguiente resultado

Prod Fecha Det. Mov Ingreso Salida Saldo
XXX 01/01/2007 Saldo Anterior 0 0 800
XXX 14/12/2007 Ventas 0 1 799
XXX 15/12/2007 Inv. Fisico 0 0 30 --> Aca existe nuevo saldo inicial debido
a corte de Inv.
XXX 18/12/2007 Compras 64 0 94
XXX 18/12/2007 Muestras 0 1 93
XXX 18/12/2007 Compras 1 0 94
XXX 18/12/2007 Inv. Fisico 0 0 50 --> Aca existe nuevo saldo inicial debido
a corte de Inv.
XXX 31/12/2007 Ventas 0 4 46
XXX 31/12/2007 Ventas 0 7 39


Como puedo llegar a esto.

Tablas participantes

D_kardex
Prod_Pk char (8)
Fecha datetime
Det_Mov v(50)
Ingreso decimal (10,2)
Salida decima(10,2)

D_Inve
Prod_Pk char(8)
Fecha datetime
Det_Mov v(50)
Cant_Inve decimal (10,2)


Desde ya muchas gracias por toda la informacin que me puedan brindar

Dany Acosta - Developers
 

Leer las respuestas

#1 Maxi
10/01/2008 - 02:03 | Informe spam
Hola, te paso un ejemplo:

create table movimientos (articulo varchar(30),
tipo char(1)
check(tipo='E' or tipo='S'),
cantidad int, fecha datetime,
transaccion int identity)
go



insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','E',100,getdate())

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','E',10,getdate())

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','E',10,getdate()+2)

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','E',15,getdate()+3)

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','S',30,getdate())

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','S',10,getdate()+1)

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('mouse','S',20,getdate()+4)


insert into movimientos (articulo,tipo,cantidad,fecha)
values
('HDD','S',20,getdate()+4)

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('HDD','S',10,getdate())

insert into movimientos (articulo,tipo,cantidad,fecha)
values
('HDD','E',100,getdate()+5)

update movimientos set fecha = convert(char(8),fecha,112)


SELECT SUM(CASE WHEN TIPO='E' THEN CANTIDAD
ELSE -CANTIDAD END) AS SALDO,
ARTICULO
FROM MOVIMIENTOS
GROUP BY ARTICULO


SELECT M.ARTICULO,FECHA,SUM(CASE WHEN TIPO='E' THEN CANTIDAD
ELSE -CANTIDAD END) AS NETO_DIARIO,
(SELECT SUM(CASE WHEN TIPO='E' THEN CANTIDAD
ELSE -CANTIDAD END) AS SALDO
FROM MOVIMIENTOS M2
WHERE M2.ARTICULO = M.ARTICULO AND
M2.FECHA <= M.FECHA) AS SALDO
FROM MOVIMIENTOS M
WHERE ARTICULO = 'MOUSE'
GROUP BY ARTICULO,FECHA
ORDER BY FECHA





-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Dany Acosta" escribió en el mensaje
news:
Amigos,
necesito hacer una consulta tipo kardex con pura sentencia SQL y tener el
siguiente resultado

Prod Fecha Det. Mov Ingreso Salida Saldo
XXX 01/01/2007 Saldo Anterior 0 0 800
XXX 14/12/2007 Ventas 0 1 799
XXX 15/12/2007 Inv. Fisico 0 0 30 --> Aca existe nuevo saldo inicial
debido a corte de Inv.
XXX 18/12/2007 Compras 64 0 94
XXX 18/12/2007 Muestras 0 1 93
XXX 18/12/2007 Compras 1 0 94
XXX 18/12/2007 Inv. Fisico 0 0 50 --> Aca existe nuevo saldo inicial
debido a corte de Inv.
XXX 31/12/2007 Ventas 0 4 46
XXX 31/12/2007 Ventas 0 7 39


Como puedo llegar a esto.

Tablas participantes

D_kardex
Prod_Pk char (8)
Fecha datetime
Det_Mov v(50)
Ingreso decimal (10,2)
Salida decima(10,2)

D_Inve
Prod_Pk char(8)
Fecha datetime
Det_Mov v(50)
Cant_Inve decimal (10,2)


Desde ya muchas gracias por toda la informacin que me puedan brindar

Dany Acosta - Developers

Preguntas similares