resta de columnas con valores null

31/10/2006 - 12:46 por david | Informe spam
hola, tengo la siguiente consulta en sql :

SELECT t9.itemcode,t9.cantidad as entradas,t8.cantidads as
salidas,t9.cantidad-t8.cantidads as resta from (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidad FROM OIGN T1 INNER JOIN IGN1 T2 ON
T1.DocEntry = T2.DocEntry WHERE (T1.Ref2 ='PRODUCCION' or T1.JrnlMemo LIKE
'Recibo de producción%') and T1.TaxDate >='[%1]' and t1.taxdate<='[%2]' and
t2.whscode='01' GROUP BY T2.ItemCode) t9 left join (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidads FROM OIGE T1 INNER JOIN IGE1 T2 ON
T1.DocEntry = T2.DocEntry WHERE T1.TaxDate >='[%1]' and t1.taxdate<='[%2]'
and t2.whscode='01' GROUP BY T2.ItemCode) T8 ON T9.ITEMCODE=T8.ITEMCODE

resumiendo ->

ITEMCODE ENTRADAS SALIDAS RESTA
A 5 2 3
B 3 1 2
C 7 null (yo queria 7 pero sale null)

El problema es que para la referencia C al no tener salidas no me hace la
resta, como puedo hacer para que cuando las salidas estean vacias me haga la
resta??

Gracias de antemano
 

Leer las respuestas

#1 Maxi
31/10/2006 - 13:23 | Informe spam
Hola, debes ponerlo asi

SELECT t9.itemcode,t9.cantidad as entradas,t8.cantidads as
salidas,isnull(t9.cantidad,0)-isnull(t8.cantidads,0) as resta from (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidad FROM OIGN T1 INNER JOIN IGN1 T2 ON
T1.DocEntry = T2.DocEntry WHERE (T1.Ref2 ='PRODUCCION' or T1.JrnlMemo LIKE
'Recibo de producción%') and T1.TaxDate >='[%1]' and t1.taxdate<='[%2]' and
t2.whscode='01' GROUP BY T2.ItemCode) t9 left join (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidads FROM OIGE T1 INNER JOIN IGE1 T2
ON
T1.DocEntry = T2.DocEntry WHERE T1.TaxDate >='[%1]' and t1.taxdate<='[%2]'
and t2.whscode='01' GROUP BY T2.ItemCode) T8 ON T9.ITEMCODE=T8.ITEMCODE


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"david" escribió en el mensaje
news:
hola, tengo la siguiente consulta en sql :

SELECT t9.itemcode,t9.cantidad as entradas,t8.cantidads as
salidas,t9.cantidad-t8.cantidads as resta from (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidad FROM OIGN T1 INNER JOIN IGN1 T2
ON
T1.DocEntry = T2.DocEntry WHERE (T1.Ref2 ='PRODUCCION' or T1.JrnlMemo LIKE
'Recibo de producción%') and T1.TaxDate >='[%1]' and t1.taxdate<='[%2]'
and
t2.whscode='01' GROUP BY T2.ItemCode) t9 left join (SELECT
T2.ItemCode,sum(T2.Quantity) as Cantidads FROM OIGE T1 INNER JOIN IGE1 T2
ON
T1.DocEntry = T2.DocEntry WHERE T1.TaxDate >='[%1]' and t1.taxdate<='[%2]'
and t2.whscode='01' GROUP BY T2.ItemCode) T8 ON T9.ITEMCODE=T8.ITEMCODE

resumiendo ->

ITEMCODE ENTRADAS SALIDAS RESTA
A 5 2 3
B 3 1 2
C 7 null (yo queria 7 pero sale null)

El problema es que para la referencia C al no tener salidas no me hace la
resta, como puedo hacer para que cuando las salidas estean vacias me haga
la
resta??

Gracias de antemano

Preguntas similares