Consulta solo para expertos

08/11/2006 - 13:39 por Darinka | Informe spam
Gracias por la ayuda que me puedas brindar.

1 Tengo una table con mas de 5 millones de registros

Estructura :
Tengo 3 columnas basicas en una tabla (Movimiento)
1 Codigo del Articulo (Articulo)
2. Cod del Almacen (almacen)
3 Venta del articulo en el almacen (Venta)

Notas:
* Un articulo puede tener 1 o n ventas en el almacen pero puede ser
vendido en muchos almacenes
* El precio de un articulo no es fijo depende de la cantidad que compra
el cliente y en un almacen se pueden tener n ventas del mismo articulo.

Ejemplo

Articulo Almacen venta
235 1 3
524 1 582
524 1 58
597 1 5447
478 2 56
654 2 3587
654 2 23
479 3 500


Pregunta 1.

* Necesitor encontrar el articulo que mas se vendio por almacen
(Articulo, Almacen, Tot de la Venta) y cuanto fue el valor de la venta
de ese articulo, (si tiene mas de una venta en el almacen sumar las
ventas del articulo en el almacen para el calculo).

*Si dos articulos tienen igual venta en el almacen deben salir los dos
o indicar el numero de veces que se repitio esta venta




Esto deberia dar algo asi :
1, sume la venta del articulo por almacen

Articulo Almacen venta
235 1 3
524 1 640
597 1 5447
478 2 56
654 2 3610
479 3 500

Fue simple solo agrupe por almacen y por articulo y sume la venta

SELECT Articulo , Almacen, Sum(venta) AS SumaDeventa
FROM Moviemientos
GROUP BY Articulo , Almacen


Pregunta 2.
Encontrar el articulo mas vendido por almacen y el valor de la venta.
Articulo Almacen venta
597 1 5447
654 2 3610
479 3 500

Esta es la que no se como hacerla gracias por la ayuda
 

Leer las respuestas

#1 Maxi
08/11/2006 - 13:48 | Informe spam
Hola, proba con esto:

select max(t1.sumedeventa) as valor,t1.almacen,t2.articulo FROM
(
SELECT Articulo , Almacen, Sum(venta) AS SumaDeventa
FROM Moviemientos
GROUP BY Articulo , Almacen
) T1

inner join

(
SELECT Articulo , Almacen, Sum(venta) AS SumaDeventa
FROM Moviemientos
GROUP BY Articulo , Almacen
) T2

on t1.almacen = t2.almacen
and t1.sumadeventa = t2.sumadeventa

group by t1.almacen,t2.articulo






Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Darinka" escribió en el mensaje
news:
Gracias por la ayuda que me puedas brindar.

1 Tengo una table con mas de 5 millones de registros

Estructura :
Tengo 3 columnas basicas en una tabla (Movimiento)
1 Codigo del Articulo (Articulo)
2. Cod del Almacen (almacen)
3 Venta del articulo en el almacen (Venta)

Notas:
* Un articulo puede tener 1 o n ventas en el almacen pero puede ser
vendido en muchos almacenes
* El precio de un articulo no es fijo depende de la cantidad que compra
el cliente y en un almacen se pueden tener n ventas del mismo articulo.

Ejemplo

Articulo Almacen venta
235 1 3
524 1 582
524 1 58
597 1 5447
478 2 56
654 2 3587
654 2 23
479 3 500


Pregunta 1.

* Necesitor encontrar el articulo que mas se vendio por almacen
(Articulo, Almacen, Tot de la Venta) y cuanto fue el valor de la venta
de ese articulo, (si tiene mas de una venta en el almacen sumar las
ventas del articulo en el almacen para el calculo).

*Si dos articulos tienen igual venta en el almacen deben salir los dos
o indicar el numero de veces que se repitio esta venta




Esto deberia dar algo asi :
1, sume la venta del articulo por almacen

Articulo Almacen venta
235 1 3
524 1 640
597 1 5447
478 2 56
654 2 3610
479 3 500

Fue simple solo agrupe por almacen y por articulo y sume la venta

SELECT Articulo , Almacen, Sum(venta) AS SumaDeventa
FROM Moviemientos
GROUP BY Articulo , Almacen


Pregunta 2.
Encontrar el articulo mas vendido por almacen y el valor de la venta.
Articulo Almacen venta
597 1 5447
654 2 3610
479 3 500

Esta es la que no se como hacerla gracias por la ayuda

Preguntas similares