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

Preguntas similare

Leer las respuestas

#11 Carlos M. Calvelo
05/11/2008 - 20:53 | Informe spam
Hola Alonso,

On 5 nov, 19:34, "Alonso Vilela" wrote:
Hey carlos muchas gracias por tu ayuda te pasaste...



De nada. Me dió la impresión de que eres novato en
esto y encantado de ayudarte.


No quiero abusar, pero una ultima consulta... con respecto a estas tablas
la de input y output tiene casi las misma estructura, seria convetienete
usar siempre las dos o adicionar un tag y solo usar una tabla

Para ser mas especifico, al de input es de ingreso del proveedor y salida a
produccion. La de output es de salida de produccion y retorno al Proveedor..



Pues no sé bien lo que quieres decir.
Pero con la union que ya tenemos puedes crear una vista que después
puedes consultar como si fuera una tabla.

create view IOoner1 as
select id_toner, ŽIŽ as tipo, amount from inputoner
union all
select id_toner, ŽOŽ as tipo, amount from outputoner

Fíjate que he puesto una columna extra (tipo) para diferenciar
entre líneas que son input y líneas que son output y no cambio
de signo el amount en outputoner.

Ahora puedes utilizar esa vista como si fuera una tabla,
por ejemplo:

select * from IOoner1

O quizás (como tu lo explicas) tienes para cada inputoner
siempre 0 ó 1 outputoner's y 1 outputoner siempre tiene un
inputoner. Entonces también puedes crear una vista como
la siguiente que te pone en la misma línea un inputoner
con su correspondiente outputoner. La cual también podrás
consultar como si fuera una tabla.

create view IOoner2 as
select i.id_toner, i.amount as amountInput, o.amount as amountOutput
from inputoner i left join outputoner o on i.id_toner=o.idtoner


Si haces pruebas y después quieres borrar las vistas no tienes
mas que ejecutar:

drop view IOoner1
drop view IOoner2

No sé si he entendido bien tu pregunta pero estos ejemplos
te darán una impresión de lo que puedes hacer.

Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida