PDA

Ver la Versión Completa : join de dos tablas


davidgaldo
30-10-2006, 17:41:22
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
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.

Neftali [Germán.Estévez]
30-10-2006, 17:43:07
...Con 211 mensajes ya deberías poner etiquetas (http://neftali.clubdelphi.com/images/ResaltarSintaxisDelphi.png) en los mensajes...:mad:

davidgaldo
30-10-2006, 17:46:54
si, perdonad, lo copié directamente de un programa y ya le he dado tantas vueltas que ni me he fijado.

Lepe
30-10-2006, 19:27:31
Hombre, no hacía falta pedir disculpas, basta con editar el mensaje y colocar las etiquetas :p

Por otra parte no dices que motor de BBDD usas, sería crucial.

Saludos

davidgaldo
31-10-2006, 07:54:15
sqlserver 2000

oscarnoe
09-11-2006, 01:38:11
La pregunta es... no te hace la resta o no te da el registro?
Si no te hace la resta por que el valor del campo es Null prueba esto:


SELECT

t9.itemcode,
t9.cantidad as entradas,
isnull(t8.cantidads,0) as salidas,
t9.cantidad-isnull(t8.cantidads,0) as resta

...


Espero que te sea de ayuda

Oscar Noe