SQL Server - Sumar valores de diferentes tablas en una consulta

   
Vista:

Sumar valores de diferentes tablas en una consulta

Publicado por Jorge (7 intervenciones) el 01/08/2008 18:14:42
Tengo 4 tablas con articulos y su cantidad, en un procedimiento almacenado sumo las cantidades de los articulos agrupados por Articulo, me suma por tablas, pero como son 4 tablas separadas las sumas son separadas por tabla y no todo junto :(

Ejm: columnas : Articulo | Cantidad

tabla1
-------------
articulo1 | 7
articulo2 | 2
articulo1 | 3

tabla2
-------------
articulo1 | 4

tabla3
-------------
articulo1 | 6
articulo2 | 5

tabla4
-------------
articulo2 | 3

Resultado que obtengo:
articulo1 | 10
articulo2 | 2
articulo1 | 4
articulo1 | 6
articulo2 | 5
articulo2 | 3

Resultado que deberia salir:
articulo1 | 20
articulo2 | 10

Gracias por las respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sumar valores de diferentes tablas en una consu

Publicado por pacopaz (131 intervenciones) el 04/08/2008 20:27:57
Puedes intentar sumar todas las tablas en cada columna.
Algo así:

select
t1.Articulo Articulo,
IsNull(sum t1.Cantidad, 0) +
IsNull(sum t2.Cantidad, 0) +
IsNull(sum t3.Cantidad, 0) +
IsNull(sum t4.Cantidad, 0) Cantidad
from
Tabla1 t1 left join Tabla2 t2 on t1.Articulo = t2.Articulo
left join Tabla3 t3 on t1.Articulo = t3.Articulo
left join Tabla4 t4 on t1.Articulo = t4.Articulo
group by
t1.Articulo

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sumar valores de diferentes tablas en una consu

Publicado por Gabriel Pizarro (4 intervenciones) el 06/08/2008 07:59:16
podes definir una vista

create view v_articulos as

Select Cod_art,Cant
from Tabla1

union all

Select Cod_art,Cant
from Tabla2

union all

Select Cod_art,Cant
from Tabla3
union all

Select Cod_art,Cant
from Tabla1

go

y luego tu consulta es sencilla

select cod_art,sum(cant) Cantidad
from v_articulos
group by Cod_art

Gabriel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar