martes, 9 de noviembre de 2010

Sumar 2 campos de tablas diferentes para compararlos SQL

Este es un query un poco complejo, se necesita sumar 2 campos de 2 tablas diferentes y que se muestre la sumatoria por cada linea. En la tabla1 existe un campo cantidad que es el resumen o sumatoria de la cantidad que hay en la tabla2.
tabla1



codigonombrecantidad
001prod110
002prod29
NNNprodn25

tabla2





codigonombrebodegacantidad
001prod10110
002prod2015
002prod2024
NNNprodn0120
NNNprodn056

El resultado que queremos es el siguiente:





codigonombrecanttabla1canttabla2
001prod11010
002prod299
NNNprodn2526


Necesitamos un query que nos permita conocer que el producto NNN tiene
diferencia en la tabla1 contra el detalle de la tabla2. Este es el Query:



SELECT a.Codigo, a.nombre, a.cantidad as canttabla1, b.Cantidad as canttabla2 FROM TABLA1 a INNER JOIN
(SELECT Codigo, SUM (Cantidad) AS Cantidad FROM TABLA2 GROUP BY Codigo) b ON
a.Codigo = b.Codigo


Con este query podemos tener una base para generar nuevos query donde estemos consultando totales entre cabecera / detalle, como por ejemplo, el total de una factura registrado en su cabecera contra el total de la sumatoria de los productos de dicha factura.

1 comentario:

Anónimo dijo...

Muchas gracias, es en verdad muy útil.