51 lines
1.4 KiB
SQL
51 lines
1.4 KiB
SQL
-- Clientes con cupo por vendedor
|
|
|
|
SET NAMES 'utf8';
|
|
|
|
SELECT
|
|
cl.id_cliente AS Nit,
|
|
cl.nombre_cliente AS Cliente,
|
|
cs.cupo AS Cupo,
|
|
cs.id_vendedor AS Id_Vendedor,
|
|
vdr.nombre_vendedor AS Vendedor,
|
|
(IF(cs.cupo>0,"Credito","Contado")) As TipoCliente,
|
|
SUM(dv.valor) AS total_ventas,
|
|
COUNT(dv.id_documento) AS numero_facturas,
|
|
SUM(r.valor) AS total_recaudos,
|
|
COUNT(r.id_documento) AS numero_recaudos,
|
|
AVG(mora) AS promedio_mora,
|
|
IFNULL(AVG(
|
|
IF(
|
|
PERIOD_DIFF(201901,EXTRACT(YEAR_MONTH FROM r.fecha))>=3,
|
|
NULL,
|
|
IF(mora<0,0,mora)
|
|
)
|
|
),0) AS promedio_mora_ultimos_3meses,
|
|
MAX(mora) AS maxima_mora,
|
|
COUNT(DISTINCT(EXTRACT(YEAR_MONTH FROM dv.fecha))) AS Frecuencia_meses
|
|
FROM
|
|
cliente cl
|
|
JOIN cliente_has_sucursal cs
|
|
USING (id_cliente)
|
|
LEFT JOIN vendedor vdr
|
|
USING (id_vendedor)
|
|
LEFT JOIN documento_ventas dv
|
|
ON (dv.id_sucursal = cs.id_sucursal
|
|
AND dv.id_cliente = cs.id_cliente)
|
|
LEFT JOIN recaudo r
|
|
ON (r.id_cliente = cs.id_cliente
|
|
AND r.id_sucursal = cs.id_sucursal
|
|
AND r.id_documento = dv.id_documento)
|
|
WHERE
|
|
(LEFT(dv.id_documento,2) = 'DV' OR
|
|
LEFT(dv.id_documento,2) = 'EF' OR
|
|
LEFT(dv.id_documento,2) = 'EI' OR
|
|
LEFT(dv.id_documento,2) = 'AI' OR
|
|
LEFT(dv.id_documento,2) = 'CF' OR
|
|
LEFT(dv.id_documento,1) = 'F')
|
|
|
|
|
|
GROUP BY
|
|
Nit
|
|
|