SQL Server - Tsql. Mostrar datos de venta y compra de una marca en una misma Sql.

 
Vista:

Tsql. Mostrar datos de venta y compra de una marca en una misma Sql.

Publicado por Cabusia (1 intervención) el 21/02/2012 19:02:55
Hola

Tengo que mostra las ventas y compras de una marca en difentes delegaciones

La siguien consulta me muestra los datos, sin embargo me surge un problema.

La marca en concreto='WIE' solo se ha vendido en 1 delegacion pero se ha comprado en 2 delegaciones.

A la hora de mostrar los datos me muestra el valor de ventas 2 veces:

ventas compras

WIE GI BERGARA 28577.18880000000 WIE GI BERGARA 19367.49600000000
WIE GI BERGARA 28577.18880000000 WIE GI TXIRRITA -628.80400000000

Lo que me tuviera que mostrar:

ventas compras

WIE GI BERGARA 28577.18880000000 WIE GI BERGARA 19367.49600000000
WIE GI BERGARA 0 WIE GI TXIRRITA -628.80400000000

Adjunto la consulta:

Gracias.

select v.*, c.*
from (SELECT SUBSTRING(l.CodigoArticulo,1,3) Marca,CodigoEmpresa, CodigoDelegacion ,SUM(L.TotalLinea*l.Cantidad ) AS Ventas
from AlbaranesVentasLineas l
join AlbaranesVentasCabecera c on l.CodigoAlbaran=c.codigo
WHERE (CodigoEmpresa = 'GI') AND (Fecha >= '01-01-2012') AND (Fecha <= DATEADD(HH, 23, DATEADD(MI, 59, DATEADD(SS, 59, '31-01-2012')))) AND SUBSTRING(l.CodigoArticulo,1,3)='WIE'
GROUP BY SUBSTRING(l.CodigoArticulo,1,3),CodigoEmpresa, CodigoDelegacion
) v
join (SELECT SUBSTRING(l.CodigoArticulo,1,3) Marca,CodigoEmpresa, c.CodigoDelegacion ,SUM(L.TotalCompra*l.Cantidad ) AS Compras
from AlbaranesComprasLineas l
join AlbaranescomprasCabecera c on l.CodigoAlbaran=c.codigo
WHERE (CodigoEmpresa = 'GI') AND (Fecha >= '01-01-2012') AND (Fecha <= DATEADD(HH, 23, DATEADD(MI, 59, DATEADD(SS, 59, '31-01-2012')))) AND SUBSTRING(l.CodigoArticulo,1,3)='WIE'
GROUP BY SUBSTRING(l.CodigoArticulo,1,3),CodigoEmpresa, c.CodigoDelegacion
) c on v.Marca=c.Marca
order by v.Marca, v.CodigoDelegacion
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Tsql. Mostrar datos de venta y compra de una marca en una misma Sql.

Publicado por Isaias (4558 intervenciones) el 22/02/2012 00:17:31
SELECT * FROM VENTAS
UNION
SELECT * FROM COMPRAS
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