
PROCEDIMIENTO PARA KARDEX DEMASIADO LENTO
Publicado por RICHARD (4 intervenciones) el 17/06/2014 22:21:32
SELECT @sql15 = N' SELECT UM,periodo,ruc,fec_doc, Cod_Prod, NT10, Serie, nro_doc, NT12, cantentrada, costoentrada, TOTALENTRADA, CANTSAL, COSTOSAL, TOTALSA, N
, ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N) AS saldo,'
SELECT @sql16 = N' CASE WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) = 0 THEN (ISNULL(SUM(ISNULL(costoentrada,0)),0) +(SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) +1 FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) '
SELECT @sql17 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) <> 0 THEN ((SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) END PProm, CASE '
SELECT @sql18 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) = 0 THEN (ISNULL(SUM(ISNULL(costoentrada,0)),0) +(SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) +1 FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0)*(ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N)) '
SELECT @sql19 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) <> 0 THEN ((SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0)*(ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N)) END cantidad into '+@NOMBRETABLA2+' from @kardecvord i GROUP BY UM,periodo, ruc, fec_doc, Cod_Prod, NT10, Serie, nro_doc, NT12, cantentrada, costoentrada, TOTALENTRADA, CANTSAL, COSTOSAL,TOTALSA, N '
, ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N) AS saldo,'
SELECT @sql16 = N' CASE WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) = 0 THEN (ISNULL(SUM(ISNULL(costoentrada,0)),0) +(SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) +1 FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) '
SELECT @sql17 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) <> 0 THEN ((SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) END PProm, CASE '
SELECT @sql18 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) = 0 THEN (ISNULL(SUM(ISNULL(costoentrada,0)),0) +(SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) +1 FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0)*(ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N)) '
SELECT @sql19 = N' WHEN (SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0) <> 0 THEN ((SELECT ISNULL(SUM(ISNULL(costoentrada,0) ),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N)) /(SELECT count(*) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N <= I.N and costoentrada<>0)*(ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) +(SELECT ISNULL(SUM(ISNULL(cantentrada,0) - ISNULL(CANTSAL,0)),0) FROM @kardecvord WHERE Cod_Prod = I.Cod_Prod AND N < I.N)) END cantidad into '+@NOMBRETABLA2+' from @kardecvord i GROUP BY UM,periodo, ruc, fec_doc, Cod_Prod, NT10, Serie, nro_doc, NT12, cantentrada, costoentrada, TOTALENTRADA, CANTSAL, COSTOSAL,TOTALSA, N '
Valora esta pregunta


0