36 lines
1021 B
SQL
36 lines
1021 B
SQL
-- Ventas por línea por año por sucursal
|
|
|
|
SELECT
|
|
CONCAT(dvi.id_sucursal,DATE_FORMAT(MAX(dv.fecha),'%Y'),l.id_linea) AS Llave,
|
|
dvi.id_sucursal AS Sucursal,
|
|
DATE_FORMAT(MAX(dv.fecha),'%Y-01-01') AS Ano,
|
|
l.id_linea AS Linea,
|
|
l.descripcion AS Descripcion,
|
|
SUM(dvi.valor) AS Valor,
|
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
|
SUM(dvi.costo) AS Costo,
|
|
SUM(dvi.valor-dvi.costo) AS Utilidad
|
|
|
|
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
|
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
|
JOIN linea l
|
|
ON ( l.id_linea = LEFT(i.id_linea,2) AND l.tipo = i.tipo )
|
|
|
|
WHERE
|
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
|
AND NOT (i.tipo LIKE "5")
|
|
AND NOT (dv.id_cliente LIKE "999")
|
|
AND dv.fecha >= '2006-01-01'
|
|
AND dv.fecha <= '2011-08-31'
|
|
|
|
GROUP BY
|
|
Sucursal, Linea, DATE_FORMAT(dv.fecha,'%Y-%m')
|
|
|
|
ORDER BY
|
|
Llave ASC
|
|
|