43 lines
1.3 KiB
SQL
43 lines
1.3 KiB
SQL
-- Sales per payment type per line year to year
|
|
-- For Board Meeting presentation
|
|
|
|
SELECT
|
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
|
dv.id_cliente AS Customer,
|
|
COUNT(DISTINCT dv.id_cliente) AS Count_Customers,
|
|
IF(
|
|
fp.dias <= 5,
|
|
'cash',
|
|
'credit'
|
|
) AS Sale_conditions,
|
|
l.linea_analisis AS Line,
|
|
ROUND(
|
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1)))/1000, 2
|
|
) AS Weight_MT,
|
|
SUM(dvi.valor) AS Value
|
|
FROM
|
|
documento_ventas dv
|
|
JOIN documento_ventas_has_item dvi
|
|
USING ( id_documento,id_sucursal )
|
|
JOIN item i
|
|
ON ( dvi.id_item = i.id_item
|
|
AND dvi.id_sucursal = i.id_sucursal )
|
|
JOIN view_lineas l
|
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
|
LEFT JOIN formapago_documento fpd
|
|
ON (fpd.id_documento = dv.id_documento
|
|
AND fpd.id_sucursal = dv.id_sucursal)
|
|
LEFT JOIN forma_pago fp
|
|
ON (fp.id_formapago = fpd.id_formapago
|
|
AND fpd.id_sucursal = fp.id_sucursal)
|
|
|
|
WHERE
|
|
(LEFT(dv.id_documento,2) = 'DV' OR
|
|
LEFT(dv.id_documento,2) = 'EF' OR
|
|
LEFT(dv.id_documento,1) = 'F')
|
|
AND NOT (dv.id_cliente LIKE "999")
|
|
AND YEAR(dv.fecha) >= 2015
|
|
|
|
GROUP BY
|
|
Month, Sale_conditions, Customer, Line
|