Super Problema!

20/01/2004 - 03:58 por anonymous | Informe spam
Tengo una tabla donde tengo ventas de x cantidad de
producto y necesito hacer una consulta que me indique como
han sido las ventas de los mismos durante los diferentes
cuatrimestre, tengo una columna que indica el numero del
producto (idProducto)y otra que indica el MES de venta,
pero lo que necesito que que queden los 3 cuatrimestres
como columnas y la informacion de la cantidad de producto
vendido como las filas algo asi:

Producto Qtr_1 Qtr_2 Qtr_3
1 234 345 300
2 89 40 91
3 123 124 120


la tabla que tengo es algo asi:
Ventas
idVenta
idProducto --numero del producto
Mes --el mes de esa venta
Cantidad --Cantidad de idProducto vendido en la
idVenta

Preguntas similare

Leer las respuestas

#1 ulises
20/01/2004 - 04:53 | Informe spam
Puedes usar CASE y una sumatoria para obtener totales por cuarto, algo
como :

SELECT idProducto,
SUM(CASE WHEN Mes IN (1,2,3,4) THEN Cantidad
WHEN Mes IN (5,6,7,8) THEN 0
WHEN Mes IN (9,10,11,12) THEN 0 END) as QTR_1,
SUM(CASE WHEN Mes IN (1,2,3,4) THEN 0
WHEN Mes IN (5,6,7,8) THEN Cantidad
WHEN Mes IN (9,10,11,12) THEN 0 END) as QTR_2,
SUM(CASE WHEN Mes IN (1,2,3,4) THEN 0
WHEN Mes IN (5,6,7,8) THEN 0
WHEN Mes IN (9,10,11,12) THEN Cantidad END) as QTR_3
FROM Ventas
GROUP BY idProducto

Saludos,
Ulises

On Mon, 19 Jan 2004 18:58:05 -0800, "anonymous"
wrote:

Tengo una tabla donde tengo ventas de x cantidad de
producto y necesito hacer una consulta que me indique como
han sido las ventas de los mismos durante los diferentes
cuatrimestre, tengo una columna que indica el numero del
producto (idProducto)y otra que indica el MES de venta,
pero lo que necesito que que queden los 3 cuatrimestres
como columnas y la informacion de la cantidad de producto
vendido como las filas algo asi:

Producto Qtr_1 Qtr_2 Qtr_3
1 234 345 300
2 89 40 91
3 123 124 120


la tabla que tengo es algo asi:
Ventas
idVenta
idProducto --numero del producto
Mes --el mes de esa venta
Cantidad --Cantidad de idProducto vendido en la
idVenta
Respuesta Responder a este mensaje
#2 Adrian Garcia
20/01/2004 - 09:43 | Informe spam
Podrias solucionarlo de esta manera
SELECT SUM( CASE
WHEN MES BETWEEN 1 AND 4 THEN TOTAL
ELSE 0
END) AS Qtr_1 ,
SUM( CASE
WHEN MES BETWEEN 5 AND 8 THEN TOTAL
ELSE 0
END) AS Qtr_2 ,
SUM( CASE
WHEN MES BETWEEN 9 AND 12 THEN TOTAL
ELSE 0
END) AS Qtr_4
FROM VENTAS
..

Lo que habria que verificar es el rendimiento que va a tener esta query. Es
muy probable que realice un cluster inedx scan o un table scan de la tabla y
dependiendo del tamaño de la misma puede ser pesado para tu servidor, pero
eso lo deberas verifcar tu.
Al no tener el nombre de la tabla y de las columnas los he
inventado/deducido.

Saludos
Adrian D. Garcia
NDSoft


"anonymous" wrote in message
news:0a7f01c3df01$39d249f0$
Tengo una tabla donde tengo ventas de x cantidad de
producto y necesito hacer una consulta que me indique como
han sido las ventas de los mismos durante los diferentes
cuatrimestre, tengo una columna que indica el numero del
producto (idProducto)y otra que indica el MES de venta,
pero lo que necesito que que queden los 3 cuatrimestres
como columnas y la informacion de la cantidad de producto
vendido como las filas algo asi:

Producto Qtr_1 Qtr_2 Qtr_3
1 234 345 300
2 89 40 91
3 123 124 120


la tabla que tengo es algo asi:
Ventas
idVenta
idProducto --numero del producto
Mes --el mes de esa venta
Cantidad --Cantidad de idProducto vendido en la
idVenta
Respuesta Responder a este mensaje
#3 Adrian Garcia
20/01/2004 - 18:27 | Informe spam
Claro que me olvide del GROUP BY!!!
Fijate en la solucion de Ulises

"Adrian Garcia" wrote in message
news:%
Podrias solucionarlo de esta manera
SELECT SUM( CASE
WHEN MES BETWEEN 1 AND 4 THEN TOTAL
ELSE 0
END) AS Qtr_1 ,
SUM( CASE
WHEN MES BETWEEN 5 AND 8 THEN TOTAL
ELSE 0
END) AS Qtr_2 ,
SUM( CASE
WHEN MES BETWEEN 9 AND 12 THEN TOTAL
ELSE 0
END) AS Qtr_4
FROM VENTAS
..

Lo que habria que verificar es el rendimiento que va a tener esta query.


Es
muy probable que realice un cluster inedx scan o un table scan de la tabla


y
dependiendo del tamaño de la misma puede ser pesado para tu servidor, pero
eso lo deberas verifcar tu.
Al no tener el nombre de la tabla y de las columnas los he
inventado/deducido.

Saludos
Adrian D. Garcia
NDSoft


"anonymous" wrote in message
news:0a7f01c3df01$39d249f0$
> Tengo una tabla donde tengo ventas de x cantidad de
> producto y necesito hacer una consulta que me indique como
> han sido las ventas de los mismos durante los diferentes
> cuatrimestre, tengo una columna que indica el numero del
> producto (idProducto)y otra que indica el MES de venta,
> pero lo que necesito que que queden los 3 cuatrimestres
> como columnas y la informacion de la cantidad de producto
> vendido como las filas algo asi:
>
> Producto Qtr_1 Qtr_2 Qtr_3
> 1 234 345 300
> 2 89 40 91
> 3 123 124 120
>
>
> la tabla que tengo es algo asi:
> Ventas
> idVenta
> idProducto --numero del producto
> Mes --el mes de esa venta
> Cantidad --Cantidad de idProducto vendido en la
> idVenta


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida