intranet-queries/2018-01-17-Sales_per_line_per_client.sql

44 lines
1.1 KiB
SQL

-- Ventas por linea por cliente mes a mes
SET NAMES 'utf8';
SELECT
LAST_DAY(dv.fecha) AS Mes,
dv.id_vendedor AS Id_Asesor,
vdr.nombre_vendedor AS Asesor,
dv.id_cliente AS Id_Cliente,
cs.nombre_cliente AS Cliente,
dv.id_sucursal AS Sucursal,
RIGHT(l.id_linea,2) AS Id_Linea,
l.descripcion AS Linea,
SUM(dvi.valor) AS Ventas_COP,
ROUND(
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1)))/1000, 4
) AS Ventas_MT
FROM
documento_ventas dv
JOIN documento_ventas_has_item dvi
ON ( dv.id_documento=dvi.id_documento
AND dv.id_sucursal=dvi.id_sucursal )
JOIN item i
USING ( id_item )
JOIN cliente_has_sucursal cs
ON ( dv.id_sucursal=cs.id_sucursal
AND dv.id_cliente=cs.id_cliente )
LEFT JOIN linea l
ON ( i.id_linea = l.id_linea )
LEFT JOIN vendedor vdr
ON ( dv.id_vendedor = vdr.id_vendedor )
WHERE (LEFT(dv.id_documento,2) = 'DV' OR
LEFT(dv.id_documento,2) = 'EF' OR
LEFT(dv.id_documento,1) = 'F')
AND YEAR(dv.fecha) >= 2016
GROUP BY
Mes, Id_Asesor, Id_Cliente, Sucursal, Id_Linea
ORDER BY
Mes, Id_Asesor, Id_Cliente, Sucursal, Id_Linea