cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con suma y resta de 3 tablas

Former Member
0 Kudos

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.

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member188440
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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.