Necesito un script para que me realice una búsqueda sql para comparar ventas en un periodo

Que me pueda comparar las ventas de un periodo vs el ano anterior.
Ejemplo:
Factura_Detalle:
Factura, Articulo, Vendedor, Venta_actuales, Venta_Año_anterior
hasta ahora no he podido encontrar una consulta como esta, por favor le estaría muy pero muy agradecido en sumunistrame un script para el problema en cuestión.

1 Respuesta

Respuesta
1
Supongamos que tienes el campo del año en tu tabla y te entran como valiables el año actual y el año anterior tienes que armar 2 consultas luego unirlas y después nuevamente agruparlas.
select mitabla.articulo, mitabla.vendedor, sum(mitabla.venta_año_anterior) , sum(mitabla.ventas_año_actuales)
(select articulo, vendedor, sum(ventas) as Venta_Año_anterio , 0 as Venta_Año_actuales
from factura_detalle
where año = @Año_anterio
union all
select articulo, vendedor, 0 as Venta_Año_anterio , sum(ventas) as Venta_Año_actuales
from factura_detalle
where año = @Año_actual
) mitabla
group by mitabla.articulo, mitabla.vendedor
 la forma más facil es hacer la consulta con un group sin union y tu manejador de reporte pones el campo año en la seccion de columnas todos los reportadres lo manejan
Gracias por tu respuesta, me gustaría aclararte algunos detalles para me puedas ayudar.
Tengo las siguientes tablas:
-Factura y Factura_Linea
De estas tablas necesito que cuando genere las ventas del mes actual, se realize otra consulta del mes actual pero del ano anterior. Es como para comparar Agosto de este ano con Agosto del ano anterior.
Nota: la comparación es vendedor, Articulo mes actual con vendedor, articulo mes ano anterior.
Yo actualmente tengo la siguiente consulta:
Select Factura.Vendedor,Factura_linea.Articulo,Factura_linea.Venta_Neta as   Venta_Mes_Actual, Venta_Mes_Anterior=(select Factura.Vendedor,Factura.Cliente,Factura_linea.Articulo,Factura_linea.Venta_Neta as Venta_Mes_Actual, Venta_Mes_Anterior from factura factura inner join factura_linea factura_linea on factura.factura=factura_linea.factura where factura.vendedor=factura.vendedor and factura_linea.articulo=factura_linea.articulo and factura.fecha>='2009-08-01' and factura.fecha<='2009-08-24')
from factura factura inner join factura_linea factura_linea on factura.factura=factura_linea.factura
where factura.vendedor='p01' and factura.fecha>='2009-08-01' and factura.fecha<='2009-08-24'
El problema aquí radica en que si no he vendido en este año articulo que se vendieron en año anterior, entonces la consulta no me trae esos datos, quedando así el reporte incompleto.
Muchas gracias por tu ayuda y espero que me hayas entendido.
A espera de tu respuesta muy atentamente,
Theo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas