SQL Server - Ayda con un SP

 
Vista:

Ayda con un SP

Publicado por Oscar Meza (10 intervenciones) el 13/12/2007 20:18:21
Quisiera sabes como puedo realizar la siguiente operacion es una tabla de SQL, pero con sp
utilizando como parametro el Articulo y Cantidad
La siguiente es una tabla de costos en capas, eso quiere decir q si se produce una salida de 35
unidades del articulo A0000001, debera descontar 5 de la primera linea (01/12/2000),25 de la segunda linea (01/04/2001) y 5 de la linea(03/06/2002)
Como podria hacer esta operacion mediante un SP?


ARTICULO FECHA CANTIDA1 CANTIDAD2
A0000001 01/12/2000 10 5
A0000001 01/04/2001 25 25
A0000001 03/06/2002 30 30
A0000003 01/04/2001 10 10
A0000004 01/01/1998 10 5

en sql2005?
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

RE:Ayda con un SP

Publicado por Juan Manuel Castañeda (3 intervenciones) el 19/12/2007 18:00:06
CREATE PROC Costos_en_Capas(@producto1 varchar(80),@fecha1 datetime, @dec1 integer,@fecha1_! datetime,@dec1_1 integer,@cantidad1 integer,@cantidad1 integer_1,@producto2 varchar(80),@fecha2 datetime, @dec2 integer,@cantidad2 integer) AS
SELECT articulo,fecha1,cantidad,cantidad-@dec1AS ''CANTIDAD 2' FROM tabla GROUP BY articulo,fecha HAVING articulo=@producto1 AND fecha=@fecha1
AND TOP @cantidad1
UNION
SELECT t.articulo,t.fecha1,t.cantidad,t.cantidad-@dec1 AS ''CANTIDAD 2' FROM tabla T GROUP BY T.articulo,T.fecha HAVING T.articulo=@producto1 AND T. fecha=@fecha1_1 AND TOP @cantidad1_1
UNION
SELECT t1.articulo,t1.fecha1,t1.cantidad,t1.cantidad AS ''CANTIDAD 2' FROM tabla t1 WHERE t1.articulo=@producto1 AND NOT(t1.fecha=@fecha1_1 AND TOP @cantidad1_1 AND t1.fecha=@fecha1 AND TOP @cantidad1)
UNION
SELECT t2.articulo,ft2.echa1,t2.cantidad,t2.cantidad AS ''CANTIDAD 2' FROM tabla t2 GROUP BY t2.articulo,t2.fecha HAVING t2.articulo<>@producto1 AND t2.articulo<>@producto2
UNION
SELECT t3.articulo,f3.echa1,t3.cantidad,t3.cantidad AS ''CANTIDAD 2' FROM tabla t3 WHERE t3.articulo=@producto2
UNION
SELECT T4.articulo,T4.fecha1,cantidad,cantidad-@dec2 AS ''CANTIDAD 2' FROM tabla t4 GROUP BY t4.articulo,t4fecha HAVING t4.articulo=@producto2 AND t4.fecha=@fecha2
AND TOP @cantidad2 ORDER BY tabla.articulo,tabla.fecha,t.articulo,t.fecha,t1.articulo,t1.fecha,t2.articulo,t2.fecha,t3.articulo,t3.fecha,
t4.articulo,t4.fecha;
END ROC;
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