Restar informacion de dos tablas

31/10/2008 - 22:22 por Alonso Vilela | Informe spam
Tengo dos tablas una de entra y otra de salida, necesito restar le
coontenido de la tabla de entra con la de salida
(informacion de Entrada) select id_toner,sum(amount) from inputoner group by
id_toner

(Informacion de Salida) Select id_toner,sum(amount) from outputoner group by
id_toner

Necesito el resultado algo coimo

id_toner, total

1 50

Gracias
 

Leer las respuestas

#1 Alejandro Mesa
31/10/2008 - 22:51 | Informe spam
Alonso Vilela,

Usa cada query como una tabla derivada.

select
coalesce(a.id_toner, b.id_toner) as id_toner,
isnull(a.input_amount, 0) - isnull(b.output_amount, 0) as diff
from
(
select id_toner, sum(amount) as input_amount
from inputoner
group by id_toner
) as a
full outer join
(
Select id_toner, sum(amount) output_amount
from outputoner
group by id_toner
) as b
a.id_toner = b.id_toner
GO

Use "full oter join" por si acaso tienes salidas sin entradas, cosa que no
debe ser si tienes restricciones adecuadas. En caso de estar seguro de no
tener salidas sin entradas, puedes usar "left outer join" porque puede que
tengas entradas sin salidas, y si usas "inner join", esas filas no saldran.


AMB


"Alonso Vilela" wrote:

Tengo dos tablas una de entra y otra de salida, necesito restar le
coontenido de la tabla de entra con la de salida
(informacion de Entrada) select id_toner,sum(amount) from inputoner group by
id_toner

(Informacion de Salida) Select id_toner,sum(amount) from outputoner group by
id_toner

Necesito el resultado algo coimo

id_toner, total

1 50

Gracias







Preguntas similares