cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con Query

Former Member
0 Kudos

Jovenes expertos tengo un query que suma la cantidad de las ordenes de compra y de venta que esta con status abierto pero necesito hacer que al final de esto realice una suma del Onhand con la cantidad de la orden de compra y resta la cantidad de las ordenes de venta, pero la verdad lo hace pero no lo hacer les doy un ejemplo:

Nombre articulo
SWWOnHandENE_OCENE_OVTotal ENE
Dato Correcto
Estufa0000210

3.00

3

Gabinete000016.6016135.4031.60
LCD 32"0000200

0000

2.00
LCD 22"00006006.006.00
CALENTADOR000030023.00
CLOSET00001010.0000.00

Como podran ver me da y no me da datos correctos, pero la verdad no se el porque ya he intentado hacer de varias formas pero el resultado siempre es el mismo, les agradeceria bastante me pudieran ayudad o me indicaran si ahy otra forma de hacerlo.

El query que estoy utilizando es el siguiente:

Query

SELECT DISTINCT T0.[ItemCode], T0.[ItemName], T0.SWW, T0.[OnHand],

        (Select sum(Y.Quantity) FROM POR1 Y WHERE Y.[LineStatus] ='O' and Month(Y.[DocDate])= '01' and Y.itemcode = T0.itemcode) as 'ENE_OC',

        (Select sum(Y.Quantity) FROM RDR1 Y WHERE Y.[LineStatus] ='O' and Month(y.[DocDate])= '01' and Y.itemcode = T0.itemcode) as 'ENE_OV',

        Case T0.ItemCode When T0.ItemCode Then (-

                 (Select sum(Z.Quantity) FROM RDR1 Z WHERE Month(Z.[DocDate])= '01' and Z.itemcode = T0.itemcode )+

                 (Select sum(Y.Quantity) FROM POR1 Y WHERE Month(Y.[DocDate])= '01' and Y.itemcode = T0.itemcode )

                 +(T0.Onhand)-1)

                 end as 'TOTAL_ENE'

    FROM OITM T0  INNER JOIN

         POR1 T1 ON T0.ItemCode = T1.ItemCode INNER JOIN

         RDR1 T2 ON T0.ItemCode = T2.ItemCode

Where  T0.OnHand > '0'

Group BY T0.[ItemCode], T0.[ItemName], T0.SWW, T0.[OnHand], T1.[LineStatus], T2.[LineStatus],

         T1.ItemCode,T2.ItemCode, T1.Quantity, T2.Quantity

De antemano les agradesco un monton su ayuda.

Saludos y gracias por su tiempo.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola, intenta con la siguiente (tal vez no sea la mejor):

SELECT DISTINCT T0.[ItemCode], T0.[ItemName], T0.SWW, T0.[OnHand],

        isnull((Select sum(isnull(Y.Quantity,0)) FROM POR1 Y WHERE Y.[LineStatus] ='O' and Month(Y.[DocDate])= '01' and Y.itemcode = T0.itemcode),0)

         as 'ENE_OC',

        isnull((Select sum(isnull(Y.Quantity,0)) FROM RDR1 Y WHERE Y.[LineStatus] ='O' and Month(y.[DocDate])= '01' and Y.itemcode = T0.itemcode),0)

         as 'ENE_OV',

        

      T0.[OnHand]-(isnull((Select sum(isnull(Y.Quantity,0)) FROM RDR1 Y WHERE Y.[LineStatus] ='O' and Month(y.[DocDate])= '01' and Y.itemcode = T0.itemcode),0))+ isnull((Select sum(isnull(Y.Quantity,0)) FROM POR1 Y WHERE Y.[LineStatus] ='O' and Month(Y.[DocDate])= '01' and Y.itemcode = T0.itemcode),0)

        

    FROM OITM T0  INNER JOIN

         POR1 T1 ON T0.ItemCode = T1.ItemCode INNER JOIN

         RDR1 T2 ON T0.ItemCode = T2.ItemCode

Where  T0.OnHand > '0'

Group BY T0.[ItemCode], T0.[ItemName], T0.SWW, T0.[OnHand], T1.[LineStatus], T2.[LineStatus],

         T1.ItemCode,T2.ItemCode, T1.Quantity, T2.Quantity

Former Member
0 Kudos

Gracias Borja Sierra quedo perfecto te lo agradezco un monto.

Saludos y muy agradecido por tu ayuda y tiempo.

Answers (0)