2 Replies Latest reply: Mar 11, 2012 7:50 AM by C J P G RSS

Ayuda con suma y resta de 3 tablas

C J P G
Currently Being Moderated

Jovenes expertos me podrian ayudar, necesito hacer una resta y a la vez una suma de la resta de Cantidad de las ordenes de compra y Cantidad de ordenes de venta y a este resultado sumarle OnHand, el query esta de la siguiente forma y espero me puedan ayudar al respecto.

 

SELECT DISTINCT T0.[ItemCode], T0.[ItemName], 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',
(Select ((sum(w.Quantity)- sum(y.Quantity)) +  T0.OnHand ) FROM POR1 Y INNER JOIN RDR1 W  ON  W.[ItemCode] = Y.[ItemCode]
               where Y.itemcode = T0.ItemCode AND W.ItemCode=T0.ItemCode) as 'OnHand'
               FROM OITM T0 
WHERE T0.OnHand > '0'

 

A como tengo el codigo no me refleja nada aunque en Stock si tenga valor.

 

Espero me pueda ayudar y de antemano muy agradecido.

  • Re: Ayuda con suma y resta de 3 tablas
    Mauricio QUINTANA
    Currently Being Moderated

    Intenta cambiarle el alias Y de las tablas, por algun otro , es decir no dejes repetido el alias Y para la tabla en donde estas sacando ENE OC y ENE OV respectivamente

    • Re: Ayuda con suma y resta de 3 tablas
      C J P G
      Currently Being Moderated

      Gracias Mauricio asi deje la linea para hacer la resta, suma:

      (Select (sum(w.Quantity)) - (sum(z.Quantity))+ T0.OnHand  from por1 z inner join rdr1 w  ON  w.[ItemCode] = z.[ItemCode]
                     where z.[LineStatus] ='O' and 
                     Month(z.[DocDate])= '02' and 
                     z.itemcode = t0.itemcode) as 'OnHand'
      

       

      lo que me muestra en esta columna es

       

      onhand

      17

      ENE OC

      63

      ENE OV

      0.00

      On Hand

      -869.6

       

      Lo que debería de dar como resultado es 80 pero me muestra  -869.60.

       

      Espero me puedan ayudar y de antemano muy agradecido.

       

Actions