SQL - SQL Total acumulado Mensual

 
Vista:

SQL Total acumulado Mensual

Publicado por Ramon (5 intervenciones) el 03/05/2011 17:29:42
Saludos, he creado la siguiente consulta:

SELECT DISTINCT LEFT(VM.AÑO_MES,4) AS AÑO, AÑO_MES, CAST(RIGHT(AÑO_MES,2) AS INT) AS COD_MES_AÑO,
DRP.COD_FRANQUICIA, DRP.COD_CATEGORIA_LOCAL, DRP.COD_FAMILIA,
DRP.COD_SUBFAMILIA, DRP.COD_PRESENTACION, VM.COD_PRODUCTO,
VLR_VENTA_NETA_TM, VENTA_MES AS VLR_VENTA_NETA_REAL,

(SELECT SUM(VENTA_MES) FROM VENTA_MES V WHERE V.AÑO_MES BETWEEN LEFT(VM.AÑO_MES,4) + '-01' AND VM.AÑO_MES
AND V.AÑO = VM.AÑO AND V.COD_PRODUCTO = VM.COD_PRODUCTO) AS VLR_YTD_REAL,
CANT_VENTA_NETA_TM, CANT_MES AS CANT_VENTA_NETA_REAL,

(SELECT SUM(CANT_MES) FROM VENTA_MES V WHERE V.AÑO_MES BETWEEN LEFT(VM.AÑO_MES,4) + '-01' AND VM.AÑO_MES
AND V.AÑO = VM.AÑO AND V.COD_PRODUCTO = VM.COD_PRODUCTO) AS CANT_YTD_REAL,

VLR_DPP_MES AS VLR_DPP_REAL, VLR_DPP_TM, VLR_DPP_AÑO AS VLR_DPP_YTD,
VENTA_HAITI_MES, CANT_HAITI_MES,
ISNULL(VLR_VENTA_HAITI_YTD,0) AS VLR_VENTA_HAITI_YTD, ISNULL(CANT_VENTA_HAITI_YTD,0) AS CANT_VENTA_HAITI_YTD

FROM VENTA_MES VM
LEFT JOIN DIM_REL_PRODUCTO DRP ON DRP.COD_PRODUCTO = VM.COD_PRODUCTO

El problema es que son muchos productos y al realizar los subquerys se tarda demasiado tiempo (muchas horas) como podria optimizarlo.

Muchas gracias.
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
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

SQL Total acumulado Mensual

Publicado por Leonardo Josué (1173 intervenciones) el 04/05/2011 16:38:07
Hola Ramón:

Es muy difícil tratar de ayudarte, en primer lugar porque no nos dices qué es lo que hace tu consulta. Creo que sería más conveniente que nos dijeras cuál es la estructura de tus tablas y que nos pongas algunos datos de ejemplo. De esta manera es posible que encontremos alguna solución sin tener que utilizar subconsultas.

Saludos
Leo.
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