Venta diaria y acumulada
Publicado por Seck (2 intervenciones) el 09/02/2015 12:22:33
Hola a todos,
Estoy realizando una consulta en la que quiero que me aparezca la fecha de venta, la venta diaria y la venta acumulada.
Para esto parto de dos tablas, una de ventas en las que tengo FechaVta y Cantidad1. Tengo más de una Cantidad1 varias fechas, pues las ventas hacen referencia a varios productos y clientes.
Por otro lado tengo una tabla Temporal en la cual tengo solo Fechas divididas en columnas con el numero de día , mes, año...
Hasta ahora se me había ocurrido hacer una subconsulta en el select para obtener el acumulado, pero al devolver más de un valor me da error.
Esta es la consulta:
SELECT T1.FechaVta, T1.Cantidad1,(Select T1.Cantidad1
FROM dbo.vw_SellIn AS T1 INNER JOIN
dbo.vw_Tiempo AS T2 ON DAY(T1.FechaVta) <= T2.Day_Number_Of_Month AND T1.AnyoVta = T2.Year AND T1.MesVta = T2.Month_Number_Year
WHERE (T1.Tipo = 'DP') OR (T1.Tipo = 'DV') group by T1.FechaVta, T1.Cantidad1 ) as Cantidad1Acum
FROM dbo.vw_MSM_SellIn AS T1 group by T1.FechaVta, T1.Cantidad1
WHERE (T1.Tipo = 'DP') OR (T1.Tipo = 'DV')
option ( MAXRECURSION 0)
Básicamente lo que hago es pedir que Cantidad1 vaya en base a FechaVta y por tanto sume el total de ventas para un mismo día mientas que Cantidad1Acum coge los valores del día en el que estamos y todos los anteriores del mes.
Un saludo y muchas gracias.
Estoy realizando una consulta en la que quiero que me aparezca la fecha de venta, la venta diaria y la venta acumulada.
Para esto parto de dos tablas, una de ventas en las que tengo FechaVta y Cantidad1. Tengo más de una Cantidad1 varias fechas, pues las ventas hacen referencia a varios productos y clientes.
Por otro lado tengo una tabla Temporal en la cual tengo solo Fechas divididas en columnas con el numero de día , mes, año...
Hasta ahora se me había ocurrido hacer una subconsulta en el select para obtener el acumulado, pero al devolver más de un valor me da error.
Esta es la consulta:
SELECT T1.FechaVta, T1.Cantidad1,(Select T1.Cantidad1
FROM dbo.vw_SellIn AS T1 INNER JOIN
dbo.vw_Tiempo AS T2 ON DAY(T1.FechaVta) <= T2.Day_Number_Of_Month AND T1.AnyoVta = T2.Year AND T1.MesVta = T2.Month_Number_Year
WHERE (T1.Tipo = 'DP') OR (T1.Tipo = 'DV') group by T1.FechaVta, T1.Cantidad1 ) as Cantidad1Acum
FROM dbo.vw_MSM_SellIn AS T1 group by T1.FechaVta, T1.Cantidad1
WHERE (T1.Tipo = 'DP') OR (T1.Tipo = 'DV')
option ( MAXRECURSION 0)
Básicamente lo que hago es pedir que Cantidad1 vaya en base a FechaVta y por tanto sume el total de ventas para un mismo día mientas que Cantidad1Acum coge los valores del día en el que estamos y todos los anteriores del mes.
Un saludo y muchas gracias.
Valora esta pregunta


0