Consulta SQL

20/03/2009 - 00:21 por Martin | Informe spam
hola,

tengo que hacer la siguiente consulta, y sinceramente estoy muy trancado, no
parece dificil pero esoty nublado

tengo 3 tablas y en las 3 tablas tengo 2 campos en común PRODUCTO y CANTIDAD

entonces debo devolver para cada producto la cantidad total que hay
que sería la SUMA de las cantidades de 2 tablas menos la cantidad de la otra
OJO!! el registro del producto puede aparecer muchas veces en una misma
tabla con <> cantidades.

agradezco algún pique!!
 

Leer las respuestas

#1 Alejandro Mesa
20/03/2009 - 02:06 | Informe spam
Martin,

Hombre si al menos posteara data de ejemplo, entonces seria mas facil para
quien trata de ayudar.

Supongamos que tenemos tres tablas:

- t1(producto, cantidad)
- t2(producto, cantidad)
- t3(producto, cantidad)

y que queremos sumar las cantidades de las tablas t1 y t2, por cada
producto, y ademas queremos substraer las cantidades en la tabla t3.

select
coalesce(a.producto, b.producto) as producto,
isnull(a.sum_cantidad, 0) - isnull(b.sum_cantidad, 0) as diferencia,
case
when a.producto is not null and b.producto is null then 'Esta en la
union y no en t3'
when a.producto is null and b.producto is not null then 'Esta en t3 y no
en la union'
else 'Esta en ambos lados'
end as [Donde esta el producto]
from
(
select
producto, sum(cantidad) as sum_cantidad
from
(
select producto, cantidad from t1
union all
select producto, cantidad from t2
) as t
group by
producto
) as a
full join
(
select producto, sum(cantidad) as sum_cantidad
from t3
group by producto
) as b
on a.producto = b.producto
GO

Uso "full join" porque no se si pueden haber productos en t3 que no esten en
la union de t1 y t2.


AMB


"Martin" wrote:

hola,

tengo que hacer la siguiente consulta, y sinceramente estoy muy trancado, no
parece dificil pero esoty nublado

tengo 3 tablas y en las 3 tablas tengo 2 campos en común PRODUCTO y CANTIDAD

entonces debo devolver para cada producto la cantidad total que hay
que sería la SUMA de las cantidades de 2 tablas menos la cantidad de la otra
OJO!! el registro del producto puede aparecer muchas veces en una misma
tabla con <> cantidades.

agradezco algún pique!!



Preguntas similares