[ADD] Queries from intranet server
This commit is contained in:
parent
2472d14dc0
commit
9a2c08a825
13
2008-12-24_ventas_2008.sql
Normal file
13
2008-12-24_ventas_2008.sql
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
SELECT c.id_cliente, c.nombre_cliente, SUM(dvi.valor) AS valor
|
||||||
|
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 cliente c ON ( c.id_cliente=dv.id_cliente )
|
||||||
|
JOIN cliente_has_sucursal cs ON ( c.id_cliente=cs.id_cliente AND
|
||||||
|
cs.id_sucursal=dv.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = YEAR('2008-01-01')
|
||||||
|
GROUP BY c.id_cliente
|
||||||
|
ORDER BY c.nombre_cliente ASC
|
||||||
|
|
||||||
16
2008-12-24cartera.sql
Normal file
16
2008-12-24cartera.sql
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
SELECT c.id_cliente AS NIT, cl.nombre_cliente AS cliente,
|
||||||
|
cs.direccion AS Direccion, z.descripcion AS Ciudad, cs.telefono AS Telefono,
|
||||||
|
cs.nombre_contacto AS Contacto,
|
||||||
|
SUM( c.valor ) AS Cartera_Actual, cs.cupo AS Cupo_Actual
|
||||||
|
FROM cartera c
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( c.id_cliente = cs.id_cliente AND c.id_sucursal = cs.id_sucursal )
|
||||||
|
JOIN zona z ON ( cs.ciudad = z.id_zona )
|
||||||
|
JOIN cliente cl
|
||||||
|
ON ( cl.id_cliente = cs.id_cliente AND cl.id_cliente = c.id_cliente )
|
||||||
|
WHERE c.valor >0
|
||||||
|
GROUP BY c.id_cliente
|
||||||
|
HAVING (
|
||||||
|
SUM( c.valor ) >=3000000
|
||||||
|
)
|
||||||
|
ORDER BY `cl`.`nombre_cliente` ASC
|
||||||
21
2009-03-23_compras.sql
Normal file
21
2009-03-23_compras.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
SELECT '1001' AS 'formato','5007' AS 'concepto',nit,proveedor,sum( movimiento )
|
||||||
|
FROM compras
|
||||||
|
WHERE
|
||||||
|
(
|
||||||
|
codCuenta = "14350101"
|
||||||
|
AND
|
||||||
|
tipo REGEXP "([12358]V|AP|DG|FP|FT|CC)"
|
||||||
|
)
|
||||||
|
OR (
|
||||||
|
codCuenta = "14350102"
|
||||||
|
AND
|
||||||
|
tipo REGEXP "(AP|DG|FP|FT)"
|
||||||
|
)
|
||||||
|
OR (
|
||||||
|
codCuenta = "14350201"
|
||||||
|
AND
|
||||||
|
tipo REGEXP "(CC)"
|
||||||
|
)
|
||||||
|
AND (length(nit) > 3)
|
||||||
|
AND nit NOT LIKE "444444%"
|
||||||
|
GROUP BY nit
|
||||||
1
2010-10-20-items.sql
Normal file
1
2010-10-20-items.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * FROM `item` WHERE `tipo` LIKE '1';
|
||||||
9
2010-10-22_vts.sql
Normal file
9
2010-10-22_vts.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
SELECT dv.id_sucursal AS suc, dvi.id_item AS item,
|
||||||
|
SUM(dvi.cantidad * (IF(dvi.valor>0,1,-1))) AS cantidad,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS peso,
|
||||||
|
SUM(dvi.valor) AS valor, SUM(dvi.costo) AS costo
|
||||||
|
FROM `documento_ventas_has_item` dvi
|
||||||
|
JOIN documento_ventas dv USING ( id_documento, id_sucursal )
|
||||||
|
JOIN item i USING ( id_item, id_sucursal )
|
||||||
|
where fecha like "2010-0%"
|
||||||
|
group by dvi.id_sucursal, dvi.id_item ;
|
||||||
6
2010-10-25-existencia_a_2010-09-30.sql
Normal file
6
2010-10-25-existencia_a_2010-09-30.sql
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SELECT id_item AS item, id_bodega AS bodega, id_sucursal AS suc,
|
||||||
|
cantidad AS cantidad, costo_unidad AS costo_un,
|
||||||
|
valor_unidad AS valor
|
||||||
|
FROM `existencia_historico`
|
||||||
|
WHERE `fecha` = '2010-09-30'
|
||||||
|
ORDER BY suc, bodega, item
|
||||||
42
2011-09-19-clientes_desde_2006.sql
Normal file
42
2011-09-19-clientes_desde_2006.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- Clientes por sucursal por año sin lineas
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Nit,
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Sucursal,
|
||||||
|
c.nombre_cliente AS Cliente,
|
||||||
|
c.id_vendedor AS CodVendedor,
|
||||||
|
c.telefono AS Telefono,
|
||||||
|
c.direccion AS Direccion,
|
||||||
|
z.descripcion AS Ciudad,
|
||||||
|
se.id_sector AS CodSector,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sse.id_sector AS CodSubsector,
|
||||||
|
sse.descripcion AS Subsector,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso
|
||||||
|
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 cliente_has_sucursal c
|
||||||
|
ON ( dv.id_cliente=c.id_cliente AND dv.id_sucursal=c.id_sucursal )
|
||||||
|
JOIN sucursal su
|
||||||
|
ON ( su.id_sucursal=dv.id_sucursal )
|
||||||
|
JOIN vendedor v
|
||||||
|
ON ( v.id_vendedor=dv.id_vendedor AND dv.id_sucursal=v.id_sucursal )
|
||||||
|
JOIN sector se
|
||||||
|
ON ( se.id_sector=LEFT(c.id_sector,2) )
|
||||||
|
JOIN subsector sse
|
||||||
|
ON ( sse.id_sector=c.id_sector )
|
||||||
|
JOIN zona z
|
||||||
|
ON ( c.id_zona = z.id_zona )
|
||||||
|
|
||||||
|
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 Nit, Sucursal, Ano
|
||||||
|
|
||||||
35
2011-09-19-lineas_desde_2006.sql
Normal file
35
2011-09-19-lineas_desde_2006.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-- 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
|
||||||
|
|
||||||
27
2011-10-14-facturas_por_ano.sql
Normal file
27
2011-10-14-facturas_por_ano.sql
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- Documentos por año con recaudo
|
||||||
|
|
||||||
|
SELECT dv.id_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
fp.formapago AS Payment
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,1) = "F"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY Branch_Office, Invoice_No
|
||||||
34
2011-10-14-recaudos_por_ano.sql
Normal file
34
2011-10-14-recaudos_por_ano.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
-- Documentos por año con recaudo
|
||||||
|
|
||||||
|
SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
rec.fecha_vencimiento AS Invoice_Due_Date,
|
||||||
|
MAX(rec.fecha) AS Payment_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN recaudo rec
|
||||||
|
ON ( dv.id_documento = rec.id_documento_cruce AND dv.id_sucursal = rec.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) = 2011
|
||||||
|
AND (rec.id_documento <> rec.id_documento_cruce)
|
||||||
|
AND LEFT(dv.id_documento,1) = "F"
|
||||||
|
AND fp.formapago = "Credito"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY Branch_Office, Invoice_No
|
||||||
33
2011-10-19-ventas.sql
Normal file
33
2011-10-19-ventas.sql
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-- Documentos de venta
|
||||||
|
|
||||||
|
SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
cs.direccion AS Address,
|
||||||
|
CONCAT_WS(', ',z.nombre_ciudad,z.nombre_depto) AS City,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
fp.descripcion AS Payment_conditions,
|
||||||
|
fp.formapago AS Sale_conditions
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal = cs.id_sucursal AND dv.id_cliente = cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
JOIN view_ciudades AS z
|
||||||
|
ON (cs.ciudad = z.id_ciudad)
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY Branch_Office, Invoice_No
|
||||||
38
2011-10-19-ventas_con_documentos_recaudo.sql
Normal file
38
2011-10-19-ventas_con_documentos_recaudo.sql
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
-- Documentos de venta que han sido cruzados con uno o más recaudos
|
||||||
|
-- Se detalla el documento recaudo y el valor de recaudo
|
||||||
|
|
||||||
|
SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
rec.fecha_vencimiento AS Invoice_Due_Date,
|
||||||
|
MAX(rec.fecha) AS Payment_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
rec.id_documento AS Payment_Doc,
|
||||||
|
SUM(rec.valor) / COUNT(dvi.id_item) AS Payed_value,
|
||||||
|
MAX(rec.valor) AS Payed_value_confirmation
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN recaudo rec
|
||||||
|
ON ( dv.id_documento = rec.id_documento_cruce AND dv.id_sucursal = rec.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY
|
||||||
|
Branch_Office, Invoice_No, Payment_Doc
|
||||||
|
HAVING
|
||||||
|
Payment_Doc <> Invoice_No
|
||||||
38
2011-10-19-ventas_con_recaudo.sql
Normal file
38
2011-10-19-ventas_con_recaudo.sql
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
-- Documentos de venta que han sido cruzados con uno o más recaudos
|
||||||
|
-- No se detalla el documento recaudo
|
||||||
|
-- La fecha de pago debería coincidir con la fecha del último pago
|
||||||
|
|
||||||
|
SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
rec.fecha_vencimiento AS Invoice_Due_Date,
|
||||||
|
MAX(rec.fecha) AS Payment_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
rec.id_documento AS Payment_Doc,
|
||||||
|
SUM(rec.valor) / COUNT(dvi.id_item) AS Payed_value,
|
||||||
|
MAX(rec.valor) AS Payed_value_confirmation
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN recaudo rec
|
||||||
|
ON ( dv.id_documento = rec.id_documento_cruce AND dv.id_sucursal = rec.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND (rec.id_documento <> rec.id_documento_cruce)
|
||||||
|
GROUP BY
|
||||||
|
Branch_Office, Invoice_No
|
||||||
13
2011-10-20-ventas_desde_views.sql
Normal file
13
2011-10-20-ventas_desde_views.sql
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
-- Documentos de venta
|
||||||
|
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
vts.*,
|
||||||
|
rec.Invoice_Due_Date,
|
||||||
|
rec.Payment_Date
|
||||||
|
|
||||||
|
FROM
|
||||||
|
view_ventas vts
|
||||||
|
LEFT JOIN view_ventas_con_recaudo rec
|
||||||
|
USING (Branch_Office, Invoice_No)
|
||||||
|
|
||||||
41
2011-10-20-view_documentos_recaudo.sql
Normal file
41
2011-10-20-view_documentos_recaudo.sql
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
-- Documentos de venta que han sido cruzados con uno o más recaudos
|
||||||
|
-- Se detalla el documento recaudo y el valor de recaudo
|
||||||
|
|
||||||
|
CREATE
|
||||||
|
ALGORITHM = TEMPTABLE
|
||||||
|
VIEW view_documentos_recaudo
|
||||||
|
AS SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
rec.fecha_vencimiento AS Invoice_Due_Date,
|
||||||
|
MAX(rec.fecha) AS Payment_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
rec.id_documento AS Payment_Doc,
|
||||||
|
SUM(rec.valor) / COUNT(dvi.id_item) AS Payed_value,
|
||||||
|
MAX(rec.valor) AS Payed_value_confirmation
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN recaudo rec
|
||||||
|
ON ( dv.id_documento = rec.id_documento_cruce AND dv.id_sucursal = rec.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY
|
||||||
|
Branch_Office, Invoice_No, Payment_Doc
|
||||||
|
HAVING
|
||||||
|
Payment_Doc <> Invoice_No
|
||||||
32
2011-10-20-view_ventas.sql
Normal file
32
2011-10-20-view_ventas.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-- Documentos de venta
|
||||||
|
|
||||||
|
CREATE
|
||||||
|
ALGORITHM = TEMPTABLE
|
||||||
|
VIEW view_ventas
|
||||||
|
AS SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
fp.descripcion AS Payment_conditions,
|
||||||
|
fp.formapago AS Sale_conditions
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal = cs.id_sucursal AND dv.id_cliente = cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY Branch_Office, Invoice_No
|
||||||
42
2011-10-20-view_ventas_con_recaudo.sql
Normal file
42
2011-10-20-view_ventas_con_recaudo.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- Documentos de venta que han sido cruzados con uno o más recaudos
|
||||||
|
-- No se detalla el documento recaudo
|
||||||
|
-- La fecha de pago debería coincidir con la fecha del último pago
|
||||||
|
|
||||||
|
CREATE
|
||||||
|
ALGORITHM = TEMPTABLE
|
||||||
|
VIEW view_ventas_con_recaudo
|
||||||
|
AS SELECT
|
||||||
|
suc.nombre_sucursal AS Branch_Office,
|
||||||
|
dv.id_documento AS Invoice_No,
|
||||||
|
dv.fecha AS Invoice_Date,
|
||||||
|
rec.fecha_vencimiento AS Invoice_Due_Date,
|
||||||
|
MAX(rec.fecha) AS Payment_Date,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))) AS Invoice_qty_Kg,
|
||||||
|
SUM(dvi.valor) AS Amount,
|
||||||
|
"COP" AS Currency,
|
||||||
|
rec.id_documento AS Payment_Doc,
|
||||||
|
SUM(rec.valor) / COUNT(dvi.id_item) AS Payed_value,
|
||||||
|
MAX(rec.valor) AS Payed_value_confirmation
|
||||||
|
FROM
|
||||||
|
documento_ventas_has_item dvi
|
||||||
|
JOIN documento_ventas dv
|
||||||
|
ON ( dv.id_documento=dvi.id_documento AND dv.id_sucursal=dvi.id_sucursal )
|
||||||
|
JOIN recaudo rec
|
||||||
|
ON ( dv.id_documento = rec.id_documento_cruce AND dv.id_sucursal = rec.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item=i.id_item AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN forma_pago fp
|
||||||
|
ON ( dv.id_formapago = fp.id_formapago AND dv.id_sucursal = fp.id_sucursal )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND (rec.id_documento <> rec.id_documento_cruce)
|
||||||
|
GROUP BY
|
||||||
|
Branch_Office, Invoice_No
|
||||||
21
2011-10-28-clientes.sql
Normal file
21
2011-10-28-clientes.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
-- Clientes ha quienes se les ha vendido desde 2008
|
||||||
|
|
||||||
|
SELECT suc.nombre_sucursal AS Branch_Office,
|
||||||
|
cs.id_cliente AS ID_Customer,
|
||||||
|
cs.nombre_contacto AS Customer_Contact,
|
||||||
|
cs.nombre_cliente AS Customer_Name,
|
||||||
|
cs.direccion AS Address,
|
||||||
|
CONCAT_WS(', ',z.nombre_ciudad,z.nombre_depto) AS City
|
||||||
|
FROM
|
||||||
|
documento_ventas dv
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal = cs.id_sucursal AND dv.id_cliente = cs.id_cliente )
|
||||||
|
JOIN sucursal suc
|
||||||
|
ON ( dv.id_sucursal = suc.id_sucursal )
|
||||||
|
JOIN view_ciudades AS z
|
||||||
|
ON (cs.ciudad = z.id_ciudad )
|
||||||
|
WHERE
|
||||||
|
YEAR(dv.fecha) >= 2008
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE 'F|D[^0-9MP]'
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
GROUP BY Branch_Office, ID_Customer
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
-- Ventas por tipo de documento por cliente con sector
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN sector se
|
||||||
|
ON ( se.id_sector = LEFT(cs.id_sector,2) )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( sbse.id_sector = cs.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,TipoDocumento
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
-- Ventas por documento por cliente con sector y tipo de documento
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
IF(LEFT(dv.id_documento,1)="F","Factura",IF(LEFT(dv.id_documento,1)="D","Devolucion",IF(LEFT(dv.id_documento,1)="T","Traslado","Desconocido"))) AS ClaseDocumento,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento
|
||||||
|
ORDER BY
|
||||||
|
Valor DESC
|
||||||
7
2012-01-26-view_solosector.sql
Normal file
7
2012-01-26-view_solosector.sql
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
CREATE ALGORITHM = TEMPTABLE VIEW `solosector` (
|
||||||
|
id_sector,
|
||||||
|
descripcion,
|
||||||
|
nivel
|
||||||
|
) AS SELECT *
|
||||||
|
FROM `sector`
|
||||||
|
WHERE nivel =1
|
||||||
26
2012-01-27-Existencias_por_mes_por_sucursal_por_linea.sql
Normal file
26
2012-01-27-Existencias_por_mes_por_sucursal_por_linea.sql
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- Existencia histórica por línea por sucursal (costo y Kg)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
e.fecha AS Mes,
|
||||||
|
e.id_sucursal AS Sucursal,
|
||||||
|
l.id_linea AS Linea,
|
||||||
|
l.descripcion AS Descripcion,
|
||||||
|
SUM((e.cantidad)*i.peso) AS Peso,
|
||||||
|
SUM((e.cantidad)*e.costo_unidad) AS Costo
|
||||||
|
|
||||||
|
FROM
|
||||||
|
existencia_historico e
|
||||||
|
JOIN item i
|
||||||
|
ON ( i.id_item=e.id_item AND i.id_sucursal=e.id_sucursal )
|
||||||
|
JOIN linea l
|
||||||
|
ON ( l.id_linea = left(i.id_linea,2) AND l.tipo=i.tipo )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
(e.fecha = LAST_DAY(e.fecha))
|
||||||
|
AND (YEAR(e.fecha) = 2012)
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Sucursal,Linea,Mes
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Mes,Sucursal,Linea
|
||||||
29
2012-01-27-Ventas_por_mes_por_sucursal_por_linea.sql
Normal file
29
2012-01-27-Ventas_por_mes_por_sucursal_por_linea.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-- Ventas por mes, sucursal y linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DATE_FORMAT(dv.fecha,"%Y-%m") AS Mes,
|
||||||
|
dvi.id_sucursal AS Sucursal,
|
||||||
|
l.id_linea AS Linea,
|
||||||
|
l.descripcion AS Descripcion,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) As Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.costo) AS Costo
|
||||||
|
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 YEAR(dv.fecha)=2011
|
||||||
|
GROUP BY
|
||||||
|
Sucursal,Linea,Mes
|
||||||
|
ORDER BY
|
||||||
|
Sucursal,Linea,Mes
|
||||||
|
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
-- Ventas por documento por cliente por familia con sector
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento,Familia
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento,Familia
|
||||||
|
|
||||||
42
2012-02-06-ventas 2011 por cliente por familia.sql
Normal file
42
2012-02-06-ventas 2011 por cliente por familia.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- Ventas por cliente por familia con sector
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Mes,Familia
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Mes,Familia
|
||||||
50
2012-02-27-ventas 2011 por cliente por familia.sql
Normal file
50
2012-02-27-ventas 2011 por cliente por familia.sql
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
-- Ventas por cliente por familia con sector
|
||||||
|
-- (Agregar nombre de vendedor y líneas)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
l.id_linea AS CodLinea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Mes,CodLinea,CodVendedor
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Mes,CodLinea,CodVendedor
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
-- Ventas por documento por cliente por familia con sector
|
||||||
|
-- (Agregar líneas por factura)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
l.id_linea AS CodLinea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento,Linea
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento,Linea
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
-- Ventas por documento por cliente por familia con sector
|
||||||
|
-- (Agregar líneas por factura)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
l.id_linea AS CodLinea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento,CodLinea,CodVendedor
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento,CodLinea,CodVendedor
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
-- Ventas por documento por cliente por familia con sector
|
||||||
|
-- (Agregar líneas por factura)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
l.id_linea AS CodLinea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento,CodLinea,CodVendedor
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento,CodLinea,CodVendedor
|
||||||
51
2012-03-03-ventas mensuales por linea por cliente.sql
Normal file
51
2012-03-03-ventas mensuales por linea por cliente.sql
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
-- Ventas mensuales por linea por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
l.id_linea_analisis AS CodLinea1,
|
||||||
|
l.linea_analisis AS Linea1,
|
||||||
|
l.id_linea AS CodLinea2,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 )
|
||||||
|
LEFT JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2011
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
-- Ventas mensuales por linea por documento por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
l.familia AS Familia,
|
||||||
|
l.id_linea_analisis AS CodLinea1,
|
||||||
|
l.linea_analisis AS Linea1,
|
||||||
|
l.id_linea AS CodLinea2,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 )
|
||||||
|
LEFT JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2011
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento,CodLinea1,CodLinea2,CodVendedor
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento,CodLinea1,CodLinea2,CodVendedor
|
||||||
43
2012-04-24-clientes_desde_2011.sql
Normal file
43
2012-04-24-clientes_desde_2011.sql
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
-- Clientes por sucursal por año sin lineas
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Nit,
|
||||||
|
dv.id_sucursal AS Sucursal,
|
||||||
|
c.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
c.telefono AS Telefono,
|
||||||
|
c.direccion AS Direccion,
|
||||||
|
z.descripcion AS Ciudad,
|
||||||
|
se.id_sector AS CodSector,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sse.id_sector AS CodSubsector,
|
||||||
|
sse.descripcion AS Subsector,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal c
|
||||||
|
ON ( dv.id_cliente=c.id_cliente
|
||||||
|
AND dv.id_sucursal=c.id_sucursal )
|
||||||
|
JOIN sucursal su
|
||||||
|
ON ( su.id_sucursal=dv.id_sucursal )
|
||||||
|
JOIN vendedor vdr
|
||||||
|
ON ( vdr.id_vendedor=dv.id_vendedor
|
||||||
|
AND dv.id_sucursal=vdr.id_sucursal )
|
||||||
|
JOIN sector se
|
||||||
|
ON ( se.id_sector=LEFT(c.id_sector,2) )
|
||||||
|
JOIN subsector sse
|
||||||
|
ON ( sse.id_sector=c.id_sector )
|
||||||
|
JOIN zona z
|
||||||
|
ON ( c.id_zona = z.id_zona )
|
||||||
|
|
||||||
|
WHERE LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND dv.fecha >= '2011-01-01'
|
||||||
|
AND dv.fecha <= '2012-12-31'
|
||||||
|
|
||||||
|
GROUP BY Sucursal, Cliente
|
||||||
|
|
||||||
|
HAVING Valor > 900000
|
||||||
34
2012-04-27-comisiones por recaudo en kg.sql
Normal file
34
2012-04-27-comisiones por recaudo en kg.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
SELECT
|
||||||
|
com.id_sucursal AS suc,
|
||||||
|
com.id_vendedor AS cod_vendedor,
|
||||||
|
vdr.nombre_vendedor AS nombre_vendedor,
|
||||||
|
vt.id_tipovendedor AS tipo_vdr,
|
||||||
|
com.id_documento AS documento,
|
||||||
|
com.id_documento_cruce AS documento_cruce,
|
||||||
|
com.id_item AS cod_item,
|
||||||
|
i.descripcion AS item,
|
||||||
|
l.descripcion AS linea,
|
||||||
|
lc.descripcion AS linea_comision,
|
||||||
|
com.periodo AS periodo,
|
||||||
|
com.factor_prorrateo AS factor_prorrateo,
|
||||||
|
com.factor_comision AS comision_cop_por_kg,
|
||||||
|
mo.descripcion AS rango_mora,
|
||||||
|
com.cantidad AS cantidad,
|
||||||
|
com.peso_un AS peso_un,
|
||||||
|
com.valor_comision AS comision
|
||||||
|
FROM
|
||||||
|
valor_comision_recaudo_kg com
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN vendedor_has_tipovendedor vt
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN item i
|
||||||
|
USING (id_sucursal,id_item)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON (i.tipo = l.tipo AND LEFT(i.id_linea,2) = l.id_linea)
|
||||||
|
LEFT JOIN linea_has_linea_comision lhc
|
||||||
|
ON (l.id_linea=lhc.id_linea)
|
||||||
|
LEFT JOIN linea_comision lc
|
||||||
|
USING (id_linea_comision)
|
||||||
|
LEFT JOIN tipo_mora mo
|
||||||
|
USING (id_rangomora)
|
||||||
38
2012-05-03-comisiones mensuales por recaudo en kg.sql
Normal file
38
2012-05-03-comisiones mensuales por recaudo en kg.sql
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
-- Comisiones mensuales de acuerdo a recaudos sobre ventas en Kg
|
||||||
|
SELECT
|
||||||
|
com.id_sucursal AS suc,
|
||||||
|
com.id_vendedor AS cod_vendedor,
|
||||||
|
vdr.nombre_vendedor AS nombre_vendedor,
|
||||||
|
vt.id_tipovendedor AS tipo_vdr,
|
||||||
|
com.id_documento AS documento,
|
||||||
|
com.id_documento_cruce AS documento_cruce,
|
||||||
|
com.id_item AS cod_item,
|
||||||
|
i.descripcion AS item,
|
||||||
|
l.descripcion AS linea,
|
||||||
|
lc.descripcion AS linea_comision,
|
||||||
|
com.periodo AS periodo,
|
||||||
|
com.factor_prorrateo AS factor_prorrateo,
|
||||||
|
com.factor_comision AS comision_cop_por_kg,
|
||||||
|
mo.descripcion AS rango_mora,
|
||||||
|
com.cantidad AS cantidad,
|
||||||
|
com.peso_un AS peso_un,
|
||||||
|
com.valor_comision AS comision
|
||||||
|
FROM
|
||||||
|
valor_comision_recaudo_kg com
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN vendedor_has_tipovendedor vt
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN item i
|
||||||
|
USING (id_sucursal,id_item)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON (i.tipo = l.tipo AND LEFT(i.id_linea,2) = l.id_linea)
|
||||||
|
LEFT JOIN linea_has_linea_comision lhc
|
||||||
|
ON (l.id_linea=lhc.id_linea)
|
||||||
|
LEFT JOIN linea_comision lc
|
||||||
|
USING (id_linea_comision)
|
||||||
|
LEFT JOIN tipo_mora mo
|
||||||
|
USING (id_rangomora)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
EXTRACT(YEAR_MONTH FROM com.periodo) = 201204
|
||||||
35
2012-05-09-devoluciones de un rango de fechas.sql
Normal file
35
2012-05-09-devoluciones de un rango de fechas.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-- Devoluciones (documento) por cliente por sucursal
|
||||||
|
-- @jtorres: devoluciones (DV) realizadas a nivel nacional 2011-09 a 2012-03.
|
||||||
|
-- Cada una debe tener el número de DV, Tercero, Fecha, Valor y Sucursal.
|
||||||
|
-- Ademas facturas
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
dv.fecha AS Fecha,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND dv.fecha >= "2011-09-01"
|
||||||
|
AND dv.fecha <= "2012-04-30"
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento
|
||||||
27
2012-05-09-gastos por tercero por cuenta.sql
Normal file
27
2012-05-09-gastos por tercero por cuenta.sql
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- Gastos por tercero por cuenta
|
||||||
|
-- @cmunoz: cuentas de gastos de administracion y ventas en donde pueda ver
|
||||||
|
-- Sucursal, meses de 2011-01 a 2012-04, tercero, valor
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
mov.id_sucursal AS suc,
|
||||||
|
mov.mes AS mes,
|
||||||
|
mov.id_cuenta AS id_cuenta,
|
||||||
|
cta.descripcion AS cuenta,
|
||||||
|
mov.id_cliente AS id_tercero,
|
||||||
|
cli.nombre_cliente AS tercero,
|
||||||
|
SUM(mov.valor) AS valor
|
||||||
|
|
||||||
|
FROM
|
||||||
|
movimiento_documento_cuenta mov
|
||||||
|
LEFT JOIN cuenta cta USING (id_cuenta,id_sucursal)
|
||||||
|
LEFT JOIN cliente cli USING (id_cliente)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
(id_cuenta LIKE '5%')
|
||||||
|
AND (mes > 201100)
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
suc,mes,id_cuenta, id_tercero
|
||||||
|
ORDER BY
|
||||||
|
suc,mes,id_cuenta, id_tercero
|
||||||
|
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
SELECT
|
||||||
|
'sector_subfamilia_vendedor' AS Nivel,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
lhs.subfamilia AS Subfamilia,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia lhs
|
||||||
|
ON (l.id_linea = lhs.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201205
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,CodVendedor,Subfamilia,Sector
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,CodVendedor,Subfamilia,Sector
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
SELECT
|
||||||
|
'subfamilia_sucursal' AS Nivel,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
lhs.subfamilia AS Subfamilia,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia lhs
|
||||||
|
ON (l.id_linea = lhs.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201205
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Subfamilia,Sector
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,Subfamilia,Sector
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
SELECT
|
||||||
|
'subfamilia_vendedor' AS Nivel,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
lhs.subfamilia AS Subfamilia,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia lhs
|
||||||
|
ON (l.id_linea = lhs.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201205
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,CodVendedor,Subfamilia
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,CodVendedor,Subfamilia
|
||||||
40
2012-05-31-clientes distintos por sucursal.sql
Normal file
40
2012-05-31-clientes distintos por sucursal.sql
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
SELECT
|
||||||
|
'sucursal' AS Nivel,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia lhs
|
||||||
|
ON (l.id_linea = lhs.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201205
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc
|
||||||
42
2012-05-31-clientes distintos por vendedor.sql
Normal file
42
2012-05-31-clientes distintos por vendedor.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
SELECT
|
||||||
|
'vendedor' AS Nivel,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia lhs
|
||||||
|
ON (l.id_linea = lhs.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201205
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,CodVendedor
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,CodVendedor
|
||||||
49
2012-06-02-comisiones mensuales por recaudo en kg.sql
Normal file
49
2012-06-02-comisiones mensuales por recaudo en kg.sql
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
-- Copia de la consulta en agofer_comisiones.pl
|
||||||
|
SELECT
|
||||||
|
com.id_sucursal AS suc,
|
||||||
|
com.id_vendedor AS cod_vendedor,
|
||||||
|
vdr.nombre_vendedor AS vendedor,
|
||||||
|
c.id_cliente AS cod_cliente,
|
||||||
|
c.nombre_cliente AS cliente,
|
||||||
|
sec.id_sector AS cod_sector,
|
||||||
|
sec.descripcion AS sector,
|
||||||
|
vt.id_tipovendedor AS tipo_vdr,
|
||||||
|
com.id_documento AS documento,
|
||||||
|
com.id_documento_cruce AS documento_cruce,
|
||||||
|
com.id_item AS cod_item,
|
||||||
|
i.descripcion AS item,
|
||||||
|
l.descripcion AS linea,
|
||||||
|
lc.descripcion AS linea_comision,
|
||||||
|
com.periodo AS periodo,
|
||||||
|
com.factor_prorrateo AS factor_prorrateo,
|
||||||
|
com.factor_comision AS comision_cop_por_kg,
|
||||||
|
mo.descripcion AS rango_mora,
|
||||||
|
com.cantidad AS cantidad,
|
||||||
|
com.peso_un AS peso_un,
|
||||||
|
com.valor_comision AS comision
|
||||||
|
FROM
|
||||||
|
valor_comision_recaudo_kg com
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN vendedor_has_tipovendedor vt
|
||||||
|
USING (id_vendedor,id_sucursal)
|
||||||
|
LEFT JOIN item i
|
||||||
|
USING (id_sucursal,id_item)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON (i.tipo = l.tipo AND LEFT(i.id_linea,2) = l.id_linea)
|
||||||
|
LEFT JOIN linea_has_linea_comision lhc
|
||||||
|
ON (l.id_linea=lhc.id_linea)
|
||||||
|
LEFT JOIN linea_comision lc
|
||||||
|
USING (id_linea_comision)
|
||||||
|
LEFT JOIN tipo_mora mo
|
||||||
|
USING (id_rangomora)
|
||||||
|
LEFT JOIN recaudo doc
|
||||||
|
USING (id_sucursal,id_documento,id_documento_cruce)
|
||||||
|
LEFT JOIN cliente c
|
||||||
|
USING (id_cliente)
|
||||||
|
LEFT JOIN sector sec
|
||||||
|
ON (LEFT(c.id_sector,2)=sec.id_sector)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
EXTRACT(YEAR_MONTH FROM com.periodo) = 201205
|
||||||
|
|
||||||
36
2012-07-19-Ventas por sector familia sucursal.sql
Normal file
36
2012-07-19-Ventas por sector familia sucursal.sql
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
-- Ventas por sucursal, sector, familia, mes
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 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 solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) = 2011
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Suc,Sector,Familia,Mes
|
||||||
|
ORDER BY
|
||||||
|
Suc,Sector,Familia,Mes
|
||||||
|
|
||||||
52
2012-07-20-ventas mensuales por linea por cliente_2010.sql
Normal file
52
2012-07-20-ventas mensuales por linea por cliente_2010.sql
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-- Ventas mensuales por linea por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
-- Excluye traslados
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2010)*12) AS ConsecutivoMes,
|
||||||
|
l.id_linea_analisis AS CodLinea1,
|
||||||
|
l.linea_analisis AS Linea1,
|
||||||
|
l.id_linea AS CodLinea2,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
l.familia AS Familia,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) = 2010
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
29
2012-09-14-Origen y destino de ventas.sql
Normal file
29
2012-09-14-Origen y destino de ventas.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-- Ventas por documento con cliente, ciudad y sucursal
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
z.id_zona, z.descripcion, SUM(dvi.valor) AS valor, SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS peso, SUM(dvi.valor-dvi.costo)
|
||||||
|
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
IF(LEFT(dv.id_documento,1)="F","Factura",IF(LEFT(dv.id_documento,1)="D","Devolucion",IF(LEFT(dv.id_documento,1)="T","Traslado","Desconocido"))) AS ClaseDocumento,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.valor-dvi.costo) AS Utilidad
|
||||||
|
|
||||||
|
ciu.nombre_ciudad AS Ciudad,
|
||||||
|
ciu.nombre_depto AS Departamento
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente ) JOIN zona z ON ( z.id_zona=LEFT(cs.id_zona,8) )
|
||||||
|
|
||||||
|
|
||||||
|
JOIN view_ciudades ciu
|
||||||
|
ON (ciu.id_ciudad = cli.id_zona)
|
||||||
|
|
||||||
|
WHERE LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPB]" AND NOT (i.tipo LIKE "5") AND NOT (dv.id_cliente LIKE "999") AND dv.fecha = '2012-09-14' AND YEAR(dv.fecha)=YEAR('2012-09-14')
|
||||||
|
|
||||||
|
GROUP BY z.id_zona
|
||||||
|
|
||||||
|
ORDER BY valor DESC
|
||||||
26
2012-09-25-Listas de precios.sql
Normal file
26
2012-09-25-Listas de precios.sql
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
SELECT
|
||||||
|
lp.id_sucursal AS Sucursal,
|
||||||
|
lp.id_listaprecio AS Lista_Precios,
|
||||||
|
i.id_linea AS Linea,
|
||||||
|
lp.id_item AS Cod_Item,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
i.unidad1 AS Unidad_Medida,
|
||||||
|
i.peso AS Peso_Teorico,
|
||||||
|
lp.precio AS Precio
|
||||||
|
|
||||||
|
FROM
|
||||||
|
lista_precios lp join item i
|
||||||
|
|
||||||
|
USING
|
||||||
|
(id_sucursal,id_item)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
i.estado = '0'
|
||||||
|
AND i.tipo = 1
|
||||||
|
AND lp.precio > 1
|
||||||
|
AND (lp.id_listaprecio = '13B' OR lp.id_listaprecio = '16' OR
|
||||||
|
lp.id_listaprecio = '17' OR
|
||||||
|
lp.id_listaprecio = 'AA')
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Sucursal, Lista_Precios, Cod_Item
|
||||||
29
2012-10-19-Documentos de ventas por mes.sql
Normal file
29
2012-10-19-Documentos de ventas por mes.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-- Ventas por documento por cliente por familia con sector
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
LEFT(dv.id_documento,2) AS TipoDocumento,
|
||||||
|
MONTH(dv.fecha) AS Mes,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( i.id_linea = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) = 201208
|
||||||
|
AND l.tipo = 1
|
||||||
|
GROUP BY
|
||||||
|
Documento
|
||||||
|
ORDER BY
|
||||||
|
Documento
|
||||||
|
|
||||||
28
2012-10-19-ventas por mes por item.sql
Normal file
28
2012-10-19-ventas por mes por item.sql
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-- Ventas por mes, item
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DATE_FORMAT(dv.fecha,"%Y-%m") AS Mes,
|
||||||
|
i.id_item AS Item,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 )
|
||||||
|
|
||||||
|
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 YEAR(dv.fecha)=2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Item,Mes
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Item,Mes
|
||||||
|
|
||||||
23
2013-02-01-Total cartera por mes por sucursal.sql
Normal file
23
2013-02-01-Total cartera por mes por sucursal.sql
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
-- Saldo de Cartera por sucursal con corte al ultimo dia del mes dado
|
||||||
|
|
||||||
|
-- Instrucciones de uso:
|
||||||
|
-- mysql --defaults-file=$HOME/.my_comercial_consultas.cnf -e "set @meses=1; source $HOME/sql/MONTHLY-Analysis_of_Accounts_Receivable.sql" > $HOME/Agofer_Accounts_Receivable_$(date --date="last month" +%Y-%m).csv
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
ch.fecha_historico AS Fecha_Corte,
|
||||||
|
s.nombre_sucursal AS Sucursal,
|
||||||
|
SUM(ch.valor) AS Amount_due
|
||||||
|
|
||||||
|
FROM
|
||||||
|
cartera_historico ch
|
||||||
|
JOIN sucursal s
|
||||||
|
USING (id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
ch.fecha_historico = LAST_DAY(ch.fecha_historico)
|
||||||
|
AND
|
||||||
|
YEAR(ch.fecha_historico) >= 2010
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
ch.id_sucursal, ch.fecha_historico
|
||||||
|
|
||||||
37
2013-04-23-clientes_distintos_por_linea_por_sucursal.sql
Normal file
37
2013-04-23-clientes_distintos_por_linea_por_sucursal.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Suc,Sector,Linea2
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Suc,Sector,Linea2
|
||||||
37
2013-04-23-clientes_por_subfamilia_por_sucursal.sql
Normal file
37
2013-04-23-clientes_por_subfamilia_por_sucursal.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
dv.id_cliente AS Cliente,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Suc,Sector,Linea2,Cliente
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Suc,Sector,Linea2,Cliente
|
||||||
34
2013-04-24-clientes_distintos_por_año.sql
Normal file
34
2013-04-24-clientes_distintos_por_año.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano
|
||||||
35
2013-04-24-clientes_distintos_por_linea.sql
Normal file
35
2013-04-24-clientes_distintos_por_linea.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Linea2
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Linea2
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
fp.dias AS Plazo,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN forma_pago fp
|
||||||
|
USING (id_formapago)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Suc,Linea,Plazo
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Suc,Linea,Plazo
|
||||||
35
2013-04-24-clientes_distintos_por_sector.sql
Normal file
35
2013-04-24-clientes_distintos_por_sector.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Sector
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Sector
|
||||||
35
2013-04-24-clientes_distintos_por_sucursal.sql
Normal file
35
2013-04-24-clientes_distintos_por_sucursal.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2010
|
||||||
|
AND YEAR(dv.fecha) <= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Suc
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Suc
|
||||||
36
2013-05-16-facturas_y_devoluciones_de_un_rango_de_fechas.sql
Normal file
36
2013-05-16-facturas_y_devoluciones_de_un_rango_de_fechas.sql
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
-- Facturas y Devoluciones (documento) por cliente por sucursal
|
||||||
|
-- pwc (via jtorres):
|
||||||
|
-- Detalle de facturacion entre 2012-10-01 y 2013-03-31
|
||||||
|
-- Detalle devolucion en ventas entre 2012-10-01 y 2013-03-31
|
||||||
|
-- Todos los documentos en ese periodo.
|
||||||
|
-- Los datos requeridos para cada uno de ellos son:
|
||||||
|
-- Número de documento, fecha, valor, NIT y nombre tercero.
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
dv.id_documento AS Documento,
|
||||||
|
dv.fecha AS Fecha,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND dv.fecha >= "2013-10-01"
|
||||||
|
AND dv.fecha <= "2013-12-31"
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc,Nit,Documento
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc,Nit,Documento
|
||||||
41
2013-08-21-Precio_promedio_lamina_HR.sql
Normal file
41
2013-08-21-Precio_promedio_lamina_HR.sql
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
-- Precio de venta promedio de la lamina HR por kilo, mes a mes en 5 años
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
||||||
|
SUM(dvi.valor) AS Net_Sales,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Amount_Kg
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
(l.id_linea = 27 OR l.id_linea = 30 OR l.id_linea = 32)
|
||||||
|
AND LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND dv.fecha >= '2008-01-01'
|
||||||
|
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
|
||||||
|
Month
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
|
||||||
|
Month
|
||||||
81
2013-09-02-sales_per_line_per_client_2010.sql
Normal file
81
2013-09-02-sales_per_line_per_client_2010.sql
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
-- Ventas mensuales por linea por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
-- Excluye traslados
|
||||||
|
-- Cambios solicitados en 2013-06-25: Zona y Suc2
|
||||||
|
|
||||||
|
-- Ejecutar asi:
|
||||||
|
-- mysql --defaults-file=$HOME/.my_comercial_consultas.cnf < $HOME/sql/MONTHLY-sales_per_line_per_client.sql > $HOME/Ventas_por_cliente_$(date --date="last month" +%Y-%m).csv
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
IF(
|
||||||
|
dv.id_vendedor IN ('ASJ','RDC','RDCA','EZS','JRM'),
|
||||||
|
'bog_estr',
|
||||||
|
dv.id_sucursal
|
||||||
|
) AS Suc_Analisis,
|
||||||
|
dv.id_sucursal AS Suc_Sistema,
|
||||||
|
IF(
|
||||||
|
dv.id_sucursal IN ('arm','per'),
|
||||||
|
'eje_cafetero',
|
||||||
|
IF(
|
||||||
|
dv.id_sucursal IN ('bar','san'),
|
||||||
|
'bar_san',
|
||||||
|
dv.id_sucursal
|
||||||
|
)
|
||||||
|
) AS Zona,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Nit,
|
||||||
|
cs.nombre_cliente AS Cliente,
|
||||||
|
dv.id_vendedor AS CodVendedor,
|
||||||
|
vdr.nombre_vendedor AS Vendedor,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS ConsecutivoMes,
|
||||||
|
l.id_linea_analisis AS CodLinea1,
|
||||||
|
l.linea_analisis AS Linea1,
|
||||||
|
l.id_linea AS CodLinea2,
|
||||||
|
l.descripcion AS Linea2,
|
||||||
|
l.familia AS Familia,
|
||||||
|
ROUND(
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1))), 2
|
||||||
|
) AS Peso_Kg,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.valor-dvi.costo) AS Utilidad,
|
||||||
|
ls.subfamilia AS Tipo,
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
ROUND(
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1)))/1000, 2
|
||||||
|
) AS Peso_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
|
||||||
|
ON ( dvi.id_item=i.id_item
|
||||||
|
AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
JOIN linea_has_subfamilia ls
|
||||||
|
ON ( l.id_linea = ls.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MBP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) = 2010
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Suc_Sistema,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Suc_Sistema,Nit,ConsecutivoMes,CodLinea1,CodLinea2,CodVendedor
|
||||||
37
2013-09-06-Number_of_invoices_per_line.sql
Normal file
37
2013-09-06-Number_of_invoices_per_line.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- Number of invoices per line per year
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
l.linea_analisis AS Line,
|
||||||
|
IF(
|
||||||
|
LEFT(dv.id_documento,1) = 'F',
|
||||||
|
'Invoice',
|
||||||
|
'Return'
|
||||||
|
) AS Type_of_Document,
|
||||||
|
COUNT(DISTINCT dv.id_documento) AS Number_of_Documents,
|
||||||
|
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 )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2009
|
||||||
|
AND YEAR(dv.fecha) <= 2013
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Line, Type_of_Document
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Year DESC, Line ASC, Type_of_Document ASC
|
||||||
36
2013-09-08-Sales_per_payment_per_line.sql
Normal file
36
2013-09-08-Sales_per_payment_per_line.sql
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
-- Sales per payment type per line year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
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 formapago_documento fpd
|
||||||
|
USING (id_documento, id_sucursal)
|
||||||
|
JOIN forma_pago fp
|
||||||
|
USING (id_formapago, 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 )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "E?F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2015
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Sale_conditions, Line
|
||||||
26
2013-10-10-Items_con_existencia_o_ventas_recientes.sql
Normal file
26
2013-10-10-Items_con_existencia_o_ventas_recientes.sql
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
SELECT
|
||||||
|
i.id_item AS cod_item,
|
||||||
|
i.descripcion AS item,
|
||||||
|
i.unidad1 AS unidad_medida,
|
||||||
|
i.peso AS peso_kg,
|
||||||
|
IF(i.tipo = 1, 'Producto', 'Servicio') AS tipo,
|
||||||
|
l.id_linea AS cod_linea,
|
||||||
|
l.descripcion AS sublinea,
|
||||||
|
la.id_linea_analisis AS cod_linea_analisis,
|
||||||
|
la.descripcion AS linea_analisis
|
||||||
|
FROM
|
||||||
|
item i
|
||||||
|
LEFT JOIN linea l
|
||||||
|
USING (id_linea,tipo)
|
||||||
|
LEFT JOIN linea_has_linea_analisis lla
|
||||||
|
ON lla.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
LEFT JOIN linea_analisis la
|
||||||
|
USING (id_linea_analisis)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
i.estado = '0'
|
||||||
|
AND LENGTH(i.descripcion) > 2
|
||||||
|
AND i.id_sucursal = 'bog'
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
cod_item
|
||||||
41
2013-10-23-numero_de_clientes_por_linea_por_sucursal.sql
Normal file
41
2013-10-23-numero_de_clientes_por_linea_por_sucursal.sql
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
-- Numero de clientes Ene-Sep 2012-2013 por sucursal por linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
l.linea_analisis AS Linea,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MP]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
AND MONTH(dv.fecha) <= 9
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Suc,Linea
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Suc,Linea
|
||||||
29
2013-12-12-Ventas_por_sucursal_por_linea_2013.sql
Normal file
29
2013-12-12-Ventas_por_sucursal_por_linea_2013.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-- Ventas por sucursal y linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dvi.id_sucursal AS Sucursal,
|
||||||
|
l.id_linea AS Linea,
|
||||||
|
l.descripcion AS Descripcion,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) As Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.costo) AS Costo
|
||||||
|
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-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha)=2013
|
||||||
|
GROUP BY
|
||||||
|
Sucursal,Linea
|
||||||
|
ORDER BY
|
||||||
|
Sucursal,Linea
|
||||||
|
|
||||||
82
2013-12-13-Ventas_por_linea_por_cliente-2012.sql
Normal file
82
2013-12-13-Ventas_por_linea_por_cliente-2012.sql
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
-- Ventas mensuales por linea por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
-- Excluye traslados
|
||||||
|
-- Cambios solicitados en 2013-06-25: Zona y Suc2
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
IF(
|
||||||
|
dv.id_vendedor IN ('ASJ','RDC','RDCA','EZS','JRM'),
|
||||||
|
'bog_estr',
|
||||||
|
dv.id_sucursal
|
||||||
|
) AS Branch_for_analysis,
|
||||||
|
dv.id_sucursal AS Branch,
|
||||||
|
IF(
|
||||||
|
dv.id_sucursal IN ('arm','per'),
|
||||||
|
'eje_cafetero',
|
||||||
|
IF(
|
||||||
|
dv.id_sucursal IN ('bar','san'),
|
||||||
|
'bar_san',
|
||||||
|
dv.id_sucursal
|
||||||
|
)
|
||||||
|
) AS Zone,
|
||||||
|
se.id_sector AS Id_Sector,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
sbse.descripcion AS Subsector,
|
||||||
|
cs.id_cliente AS Id_Client,
|
||||||
|
cs.nombre_cliente AS Client,
|
||||||
|
dv.id_vendedor AS Id_Salesrep,
|
||||||
|
vdr.nombre_vendedor AS Salesrep,
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
MONTH(dv.fecha) + ((YEAR(dv.fecha)-2011)*12) AS Month_seq,
|
||||||
|
l.familia AS 'Type',
|
||||||
|
ls.subfamilia AS Subtype,
|
||||||
|
l.id_linea_analisis AS Id_Line1,
|
||||||
|
l.linea_analisis AS Line1,
|
||||||
|
l.id_linea AS Id_Line2,
|
||||||
|
l.descripcion AS Line2,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Sales_Kg,
|
||||||
|
SUM(dvi.valor) AS Sales_COP,
|
||||||
|
SUM(dvi.valor-dvi.costo) AS Gross_Margin,
|
||||||
|
ROUND(
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1)))/1000, 2
|
||||||
|
) AS Sales_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
|
||||||
|
ON ( dvi.id_item=i.id_item
|
||||||
|
AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
LEFT JOIN linea_has_subfamilia ls
|
||||||
|
ON ( l.id_linea = ls.id_linea)
|
||||||
|
LEFT JOIN solosector se
|
||||||
|
ON ( LEFT(cs.id_sector,2) = se.id_sector )
|
||||||
|
LEFT JOIN subsector sbse
|
||||||
|
ON ( cs.id_sector = sbse.id_sector )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
ON ( dv.id_vendedor = vdr.id_vendedor
|
||||||
|
AND dv.id_sucursal = vdr.id_sucursal)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MBPC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) = 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month_seq,Branch,Id_Client,Month_seq,Id_Line1,Id_Line2,Id_Salesrep
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Month_seq,Branch,Id_Client,Month_seq,Id_Line1,Id_Line2,Id_Salesrep
|
||||||
27
2013-12-16-Entradas_por_sucursal_por_linea_2013.sql
Normal file
27
2013-12-16-Entradas_por_sucursal_por_linea_2013.sql
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- Entradas por sucursal y linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(e.fecha) AS Ano,
|
||||||
|
e.id_sucursal AS Sucursal,
|
||||||
|
l.id_linea AS Linea,
|
||||||
|
l.descripcion AS Descripcion,
|
||||||
|
SUM(ei.costo*ei.cantidad) AS Costo,
|
||||||
|
SUM(ei.cantidad*i.peso) AS Peso
|
||||||
|
|
||||||
|
FROM
|
||||||
|
|
||||||
|
entrada e
|
||||||
|
JOIN entrada_has_item ei
|
||||||
|
ON ( e.id_entrada=ei.id_entrada AND e.id_sucursal=ei.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( ei.id_item=i.id_item AND ei.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN linea l
|
||||||
|
ON ( l.id_linea = left(i.id_linea,2) AND l.tipo=i.tipo )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
YEAR(e.fecha)=2013
|
||||||
|
GROUP BY
|
||||||
|
Sucursal,Linea
|
||||||
|
ORDER BY
|
||||||
|
Sucursal,Linea
|
||||||
|
|
||||||
29
2013-12-16-Traslados_por_sucursal_por_linea_2013.sql
Normal file
29
2013-12-16-Traslados_por_sucursal_por_linea_2013.sql
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-- Traslados por sucursal y linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
dvi.id_sucursal AS Sucursal,
|
||||||
|
l.id_linea AS Linea,
|
||||||
|
l.descripcion AS Descripcion,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) As Peso,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.costo) AS Costo
|
||||||
|
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 "[TD][0-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha)=2013
|
||||||
|
GROUP BY
|
||||||
|
Sucursal,Linea
|
||||||
|
ORDER BY
|
||||||
|
Sucursal,Linea
|
||||||
|
|
||||||
36
2014-02-05-Precio_por_linea_diario.sql
Normal file
36
2014-02-05-Precio_por_linea_diario.sql
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
-- Evolucion de precio de venta (COP/Kg) por linea dia a dia para un rango
|
||||||
|
-- de fechas
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.fecha AS Date,
|
||||||
|
l.id_linea AS Id_Line,
|
||||||
|
l.descripcion AS Line,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Sales_Kg,
|
||||||
|
SUM(dvi.valor) AS Sales_COP,
|
||||||
|
SUM(dvi.valor-dvi.costo) AS Gross_Margin
|
||||||
|
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 )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,1) = "F"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND dv.fecha >= "2013-01-01"
|
||||||
|
AND dv.fecha <= "2014-01-31"
|
||||||
|
GROUP BY
|
||||||
|
Date,Line
|
||||||
|
ORDER BY
|
||||||
|
Date,Line
|
||||||
22
2014-02-21-clientes_desde_2011.sql
Normal file
22
2014-02-21-clientes_desde_2011.sql
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
-- Clientes por sucursal por año sin lineas
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Nit,
|
||||||
|
dv.id_sucursal AS Sucursal,
|
||||||
|
c.nombre_cliente AS Cliente,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal c
|
||||||
|
ON ( dv.id_cliente=c.id_cliente
|
||||||
|
AND dv.id_sucursal=c.id_sucursal )
|
||||||
|
|
||||||
|
WHERE LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND dv.fecha >= '2011-01-01'
|
||||||
|
|
||||||
|
GROUP BY Sucursal, Cliente
|
||||||
|
|
||||||
|
HAVING Valor > 10000000
|
||||||
47
2014-04-03-entradas_por_año.sql
Normal file
47
2014-04-03-entradas_por_año.sql
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
-- Entradas de almacen por linea del mes
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
e.id_sucursal AS Sucursal,
|
||||||
|
e.id_entrada AS Entrada,
|
||||||
|
e.id_proveedor AS Nit_Proveedor,
|
||||||
|
p.nombre_proveedor AS Nombre_Proveedor,
|
||||||
|
e.fecha AS Fecha,
|
||||||
|
i.id_item AS Codigo_item,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
sl.descripcion AS Sublinea,
|
||||||
|
SUM(ei.costo * ei.cantidad) AS Costo,
|
||||||
|
SUM(ei.cantidad) AS Cantidad,
|
||||||
|
SUM(ei.costo) AS Costo_unitario,
|
||||||
|
ei.unidad AS Unidad_medida,
|
||||||
|
de.factura AS Factura
|
||||||
|
|
||||||
|
FROM
|
||||||
|
entrada e
|
||||||
|
JOIN entrada_has_item ei
|
||||||
|
ON ( e.id_entrada = ei.id_entrada
|
||||||
|
AND e.id_sucursal = ei.id_sucursal )
|
||||||
|
LEFT JOIN documentos_entrada de
|
||||||
|
ON (de.id_entrada = e.id_entrada
|
||||||
|
AND de.id_sucursal = e.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( ei.id_item = i.id_item
|
||||||
|
AND ei.id_sucursal = i.id_sucursal )
|
||||||
|
JOIN view_lineas l
|
||||||
|
ON ( l.id_linea = left( i.id_linea, 2 ) )
|
||||||
|
JOIN linea sl
|
||||||
|
ON ( sl.id_linea = i.id_linea
|
||||||
|
AND sl.tipo = i.tipo )
|
||||||
|
JOIN proveedor p
|
||||||
|
ON ( p.id_proveedor = e.id_proveedor )
|
||||||
|
JOIN proveedor_has_sucursal ps
|
||||||
|
ON ( p.id_proveedor = ps.id_proveedor
|
||||||
|
AND ps.id_sucursal = e.id_sucursal )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
p.id_proveedor > 999
|
||||||
|
AND YEAR(e.fecha) = 2013
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Entrada, Sucursal, Codigo_item
|
||||||
|
|
||||||
19
2014-05-21-items_con_error_en_sublinea.sql
Normal file
19
2014-05-21-items_con_error_en_sublinea.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
SELECT
|
||||||
|
dv.id_sucursal, i.id_item, i.descripcion, SUM( dvi.valor ) AS valor
|
||||||
|
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 )
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( l.id_linea = i.id_linea AND l.tipo = i.tipo )
|
||||||
|
WHERE
|
||||||
|
NOT (
|
||||||
|
dv.id_cliente LIKE "999"
|
||||||
|
)
|
||||||
|
AND YEAR( dv.fecha ) = 2013
|
||||||
|
AND (
|
||||||
|
l.id_linea IS NULL
|
||||||
|
)
|
||||||
|
GROUP BY dv.id_sucursal,dvi.id_item
|
||||||
|
ORDER BY valor DESC
|
||||||
37
2014-06-09-numero_clientes_por_linea_por_mes.sql
Normal file
37
2014-06-09-numero_clientes_por_linea_por_mes.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- Numero de clientes por linea por mes
|
||||||
|
-- Para reunion de Directorio
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
||||||
|
l.linea_analisis AS Linea,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month,Linea
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Month,Linea
|
||||||
38
2014-06-09-numero_de_clientes_por_linea.sql
Normal file
38
2014-06-09-numero_de_clientes_por_linea.sql
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
-- Numero de clientes por linea por año
|
||||||
|
-- Para reunion de Directorio
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
l.linea_analisis AS Linea,
|
||||||
|
dv.id_cliente AS cliente,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Linea,cliente
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Linea,cliente
|
||||||
37
2014-06-09-numero_de_clientes_por_tipo.sql
Normal file
37
2014-06-09-numero_de_clientes_por_tipo.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- Numero de clientes por tipo (largos/planos) por mes
|
||||||
|
-- Para reunion de Directorio
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
||||||
|
ls.subfamilia AS Linea,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 )
|
||||||
|
LEFT JOIN linea_has_subfamilia ls
|
||||||
|
ON ( LEFT(i.id_linea,2) = ls.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month,Linea
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Month,Linea
|
||||||
33
2014-07-21-Entradas_por_item_por_proveedor.sql
Normal file
33
2014-07-21-Entradas_por_item_por_proveedor.sql
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-- Entradas por item por proveedor
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(e.fecha) AS Ano,
|
||||||
|
l.id_linea AS Cod_Linea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
i.id_item AS Cod_Item,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
p.id_proveedor AS Nit,
|
||||||
|
p.nombre_proveedor AS Proveedor,
|
||||||
|
SUM(ei.costo*ei.cantidad) AS Costo,
|
||||||
|
SUM(ei.cantidad*i.peso) AS Peso
|
||||||
|
|
||||||
|
FROM
|
||||||
|
entrada e
|
||||||
|
JOIN entrada_has_item ei
|
||||||
|
ON ( e.id_entrada=ei.id_entrada AND e.id_sucursal=ei.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( ei.id_item=i.id_item AND ei.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN linea l
|
||||||
|
ON ( l.id_linea = left(i.id_linea,2) AND l.tipo=i.tipo )
|
||||||
|
LEFT JOIN proveedor p
|
||||||
|
USING (id_proveedor)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
YEAR(e.fecha)=2013
|
||||||
|
GROUP BY
|
||||||
|
Nit, Cod_Item
|
||||||
|
HAVING
|
||||||
|
Nit > 999
|
||||||
|
ORDER BY
|
||||||
|
Nit, Cod_Item
|
||||||
|
|
||||||
50
2014-07-21-Ventas_por_item_por_cliente.sql
Normal file
50
2014-07-21-Ventas_por_item_por_cliente.sql
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
-- Ventas mensuales por linea por cliente
|
||||||
|
-- Incluye familia, sector, y linea de analisis de Directorio
|
||||||
|
-- Excluye traslados
|
||||||
|
-- Cambios solicitados en 2013-06-25: Zona y Suc2
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
cs.id_cliente AS Id_Client,
|
||||||
|
cs.nombre_cliente AS Client,
|
||||||
|
i.id_item AS Id_Item,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
l.id_linea AS Id_Line,
|
||||||
|
l.descripcion AS Line,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Sales_Kg,
|
||||||
|
SUM(dvi.valor) AS Sales_COP,
|
||||||
|
SUM(dvi.costo) AS COGS,
|
||||||
|
ROUND(
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0, 1, -1)))/1000, 2
|
||||||
|
) AS Sales_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
|
||||||
|
ON ( dvi.id_item=i.id_item
|
||||||
|
AND dvi.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( LEFT(i.id_linea,2) = l.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MBPC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND YEAR(dv.fecha) = 2013
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Id_Client,Id_Item
|
||||||
|
HAVING
|
||||||
|
Id_Client > 999
|
||||||
|
ORDER BY
|
||||||
|
Id_Client,Id_Item
|
||||||
32
2014-08-15-Items_con_entradas_recientes.sql
Normal file
32
2014-08-15-Items_con_entradas_recientes.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-- Items con entradas en los ultimos 12 meses
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DISTINCT i.id_item AS cod_item,
|
||||||
|
i.id_sucursal AS sucursal,
|
||||||
|
i.descripcion AS item,
|
||||||
|
i.unidad1 AS unidad_medida,
|
||||||
|
i.peso AS peso_kg,
|
||||||
|
IF(i.tipo = 1, 'Producto', 'Servicio') AS tipo,
|
||||||
|
l.id_linea AS cod_linea,
|
||||||
|
l.descripcion AS linea,
|
||||||
|
la.id_linea_analisis AS cod_linea_analisis,
|
||||||
|
la.descripcion AS linea_analisis
|
||||||
|
FROM
|
||||||
|
entrada e
|
||||||
|
JOIN entrada_has_item ei
|
||||||
|
USING(id_entrada,id_sucursal)
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item,id_sucursal)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON l.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
AND l.tipo = i.tipo
|
||||||
|
LEFT JOIN linea_has_linea_analisis lla
|
||||||
|
ON lla.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
LEFT JOIN linea_analisis la
|
||||||
|
USING (id_linea_analisis)
|
||||||
|
|
||||||
|
WHERE PERIOD_DIFF(
|
||||||
|
DATE_FORMAT(now(),'%Y%m'),
|
||||||
|
DATE_FORMAT(e.fecha,'%Y%m')
|
||||||
|
) <= 12
|
||||||
|
|
||||||
26
2014-08-15-Items_con_existencia_actual.sql
Normal file
26
2014-08-15-Items_con_existencia_actual.sql
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- Items con existencia actual
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DISTINCT i.id_item AS cod_item,
|
||||||
|
i.id_sucursal AS sucursal,
|
||||||
|
i.descripcion AS item,
|
||||||
|
i.unidad1 AS unidad_medida,
|
||||||
|
i.peso AS peso_kg,
|
||||||
|
IF(i.tipo = 1, 'Producto', 'Servicio') AS tipo,
|
||||||
|
l.id_linea AS cod_linea,
|
||||||
|
l.descripcion AS sublinea,
|
||||||
|
la.id_linea_analisis AS cod_linea_analisis,
|
||||||
|
la.descripcion AS linea_analisis
|
||||||
|
FROM
|
||||||
|
existencia_item_bodega ex
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item,id_sucursal)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON l.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
AND l.tipo = i.tipo
|
||||||
|
LEFT JOIN linea_has_linea_analisis lla
|
||||||
|
ON lla.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
LEFT JOIN linea_analisis la
|
||||||
|
USING (id_linea_analisis)
|
||||||
|
|
||||||
|
WHERE ex.cantidad > 0
|
||||||
32
2014-08-15-Items_con_ventas_recientes.sql
Normal file
32
2014-08-15-Items_con_ventas_recientes.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-- Items con ventas en los ultimos 12 meses
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DISTINCT i.id_item AS cod_item,
|
||||||
|
i.id_sucursal AS sucursal,
|
||||||
|
i.descripcion AS item,
|
||||||
|
i.unidad1 AS unidad_medida,
|
||||||
|
i.peso AS peso_kg,
|
||||||
|
IF(i.tipo = 1, 'Producto', 'Servicio') AS tipo,
|
||||||
|
l.id_linea AS cod_linea,
|
||||||
|
l.descripcion AS linea,
|
||||||
|
la.id_linea_analisis AS cod_linea_analisis,
|
||||||
|
la.descripcion AS linea_analisis
|
||||||
|
FROM
|
||||||
|
documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING(id_documento,id_sucursal)
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item,id_sucursal)
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON l.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
AND l.tipo = i.tipo
|
||||||
|
LEFT JOIN linea_has_linea_analisis lla
|
||||||
|
ON lla.id_linea = LEFT( i.id_linea, 2 )
|
||||||
|
LEFT JOIN linea_analisis la
|
||||||
|
USING (id_linea_analisis)
|
||||||
|
|
||||||
|
WHERE PERIOD_DIFF(
|
||||||
|
DATE_FORMAT(now(),'%Y%m'),
|
||||||
|
DATE_FORMAT(dv.fecha,'%Y%m')
|
||||||
|
) <= 12
|
||||||
|
|
||||||
31
2014-09-23_ventas_por_mes_por_item.sql
Normal file
31
2014-09-23_ventas_por_mes_por_item.sql
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
-- Ventas por mes, item
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DATE_FORMAT(dv.fecha,"%Y-%m") AS Mes,
|
||||||
|
i.id_item AS Codigo,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
SUM(dvi.valor) AS Valor,
|
||||||
|
SUM(dvi.cantidad) AS Cantidad,
|
||||||
|
i.unidad1 AS UoM
|
||||||
|
|
||||||
|
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 )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha)=@ANO
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Item,Mes
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Item,Mes
|
||||||
|
|
||||||
42
2014-11-23-Clientes_por_plazo_por_linea.sql
Normal file
42
2014-11-23-Clientes_por_plazo_por_linea.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- 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
|
||||||
34
2015-01-21-Clientes_por_plazo.sql
Normal file
34
2015-01-21-Clientes_por_plazo.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
-- Sales per payment type year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Num_Customers,
|
||||||
|
IF(
|
||||||
|
fp.dias <= 5,
|
||||||
|
'cash',
|
||||||
|
'credit'
|
||||||
|
) AS Sale_conditions,
|
||||||
|
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 formapago_documento fpd
|
||||||
|
USING (id_documento, id_sucursal)
|
||||||
|
JOIN forma_pago fp
|
||||||
|
USING (id_formapago, id_sucursal)
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item = i.id_item
|
||||||
|
AND dvi.id_sucursal = i.id_sucursal )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Sale_conditions
|
||||||
32
2015-01-21-Facturas_por_plazo.sql
Normal file
32
2015-01-21-Facturas_por_plazo.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-- Sales per payment type year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
dv.id_sucursal AS Branch,
|
||||||
|
COUNT(DISTINCT dv.id_documento) AS Number_of_Documents,
|
||||||
|
IF(
|
||||||
|
(dv.fecha_vencimiento - dv.fecha) <= 5,
|
||||||
|
'cash',
|
||||||
|
'credit'
|
||||||
|
) AS Sale_conditions,
|
||||||
|
ROUND(
|
||||||
|
SUM(dvi.cantidad * i.peso * (IF(dvi.valor>0,1,-1))), 4
|
||||||
|
) AS Weight_Kg,
|
||||||
|
SUM(dvi.valor) AS Value
|
||||||
|
FROM
|
||||||
|
documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING ( id_documento,id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item)
|
||||||
|
|
||||||
|
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) >= 2016
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Sale_conditions
|
||||||
20
2015-01-27-sublineas_por_item.sql
Normal file
20
2015-01-27-sublineas_por_item.sql
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
SELECT
|
||||||
|
i.id_linea AS cod_sublinea,
|
||||||
|
l.descripcion AS sublinea,
|
||||||
|
i.id_item AS Item,
|
||||||
|
i.descripcion AS Descripcion
|
||||||
|
|
||||||
|
FROM
|
||||||
|
item i
|
||||||
|
LEFT JOIN linea l
|
||||||
|
ON ( l.id_linea = i.id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
(i.estado = '0')
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
i.id_item
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
i.id_item DESC
|
||||||
|
|
||||||
41
2015-01-27-ventas_por_item_2014.sql
Normal file
41
2015-01-27-ventas_por_item_2014.sql
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Sucursal,
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Mes,
|
||||||
|
l.id_linea AS Line,
|
||||||
|
i.id_linea AS Sub_line,
|
||||||
|
i.id_item AS Item,
|
||||||
|
i.descripcion AS Description,
|
||||||
|
SUM(dvi.valor) AS Net_Sales,
|
||||||
|
ROUND(
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * i.peso * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
),
|
||||||
|
2
|
||||||
|
) AS Amount_Kg,
|
||||||
|
SUM(
|
||||||
|
dvi.cantidad * (IF(dvi.valor >0, 1 , -1))
|
||||||
|
) AS Amount_UoM,
|
||||||
|
SUM(dvi.costo) AS Cost_of_goods_sold
|
||||||
|
|
||||||
|
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 )
|
||||||
|
LEFT JOIN view_lineas l
|
||||||
|
ON ( l.id_linea = LEFT( i.id_linea, 2 ) )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT( dv.id_documento, 2 ) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) LIKE '2014%'
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
i.id_item, Sucursal, Mes
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
i.id_item DESC
|
||||||
42
2015-02-02-Customers_per_quarter.sql
Normal file
42
2015-02-02-Customers_per_quarter.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- Clientes consolidados por año con ventas y devoluciones
|
||||||
|
|
||||||
|
-- Instrucciones de uso:
|
||||||
|
-- mysql --defaults-file=$HOME/.my_comercial_consultas.cnf < YEARLY-Customers_per_fiscal_year.sql > ../Agofer_Customers_per_year_FY$(date +%Y).csv
|
||||||
|
|
||||||
|
-- Nota: El campo Vendedor solo muestra el de una sucursal
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Customer_Id,
|
||||||
|
c.nombre_cliente AS Customer,
|
||||||
|
vdr.nombre_vendedor AS Sales_Associate,
|
||||||
|
c.telefono AS Phone,
|
||||||
|
c.direccion AS Address,
|
||||||
|
z.descripcion AS City,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
SUM(dvi.valor) AS Net_Sales
|
||||||
|
|
||||||
|
FROM documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING ( id_documento,id_sucursal )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING ( id_vendedor,id_sucursal )
|
||||||
|
LEFT JOIN cliente_has_sucursal c
|
||||||
|
USING ( id_cliente,id_sucursal )
|
||||||
|
JOIN sucursal su
|
||||||
|
USING ( id_sucursal )
|
||||||
|
LEFT JOIN sector se
|
||||||
|
ON ( se.id_sector=LEFT(c.id_sector,2) )
|
||||||
|
LEFT JOIN zona z
|
||||||
|
USING ( id_zona )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
(LEFT(dv.id_documento,2) = 'DV' OR
|
||||||
|
LEFT(dv.id_documento,2) = 'EF' OR
|
||||||
|
LEFT(dv.id_documento,1) = 'F')
|
||||||
|
AND dv.fecha >= DATE(CONCAT(YEAR(now())-1,'-10-01'))
|
||||||
|
AND dv.fecha <= DATE(CONCAT(YEAR(now()),'-09-30'))
|
||||||
|
|
||||||
|
GROUP BY Customer_Id
|
||||||
|
|
||||||
|
HAVING Net_Sales > 0
|
||||||
|
|
||||||
|
ORDER BY Net_Sales DESC
|
||||||
33
2015-02-02-numero_de_clientes_ultimos_trimestres.sql
Normal file
33
2015-02-02-numero_de_clientes_ultimos_trimestres.sql
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-- Numero de clientes distintos del ultimo trimestre de cada año
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Ano,
|
||||||
|
QUARTER(dv.fecha) AS Trim,
|
||||||
|
MIN(dv.fecha) AS Fecha_desde,
|
||||||
|
MAX(dv.fecha) AS Fecha_hasta,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS Peso,
|
||||||
|
SUM(dvi.valor) AS Valor
|
||||||
|
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal
|
||||||
|
AND dv.id_cliente=cs.id_cliente )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MBPC]"
|
||||||
|
AND (i.tipo != "5")
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2011
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Ano,Trim
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Ano,Trim
|
||||||
32
2015-02-24-Entradas_de_IPAC_por_item.sql
Normal file
32
2015-02-24-Entradas_de_IPAC_por_item.sql
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
-- Entradas por item por proveedor
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(e.fecha) AS Ano,
|
||||||
|
l.id_linea AS Cod_Linea,
|
||||||
|
l.descripcion AS Linea,
|
||||||
|
i.id_item AS Cod_Item,
|
||||||
|
i.descripcion AS Item,
|
||||||
|
p.id_proveedor AS Nit,
|
||||||
|
p.nombre_proveedor AS Proveedor,
|
||||||
|
i.peso AS Peso
|
||||||
|
|
||||||
|
FROM
|
||||||
|
entrada e
|
||||||
|
JOIN entrada_has_item ei
|
||||||
|
ON ( e.id_entrada=ei.id_entrada AND e.id_sucursal=ei.id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
ON ( ei.id_item=i.id_item AND ei.id_sucursal=i.id_sucursal )
|
||||||
|
JOIN linea l
|
||||||
|
ON ( l.id_linea = i.id_linea AND l.tipo=i.tipo )
|
||||||
|
LEFT JOIN proveedor p
|
||||||
|
USING (id_proveedor)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
YEAR(e.fecha) = 2014
|
||||||
|
GROUP BY
|
||||||
|
Nit, Cod_Item
|
||||||
|
HAVING
|
||||||
|
Proveedor LIKE '%IPAC%'
|
||||||
|
ORDER BY
|
||||||
|
Nit, Cod_Item
|
||||||
|
|
||||||
28
2015-05-14-Ventas_contado_2014.sql
Normal file
28
2015-05-14-Ventas_contado_2014.sql
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-- Ventas de contado por documento por año
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_documento AS documento_ventas, cs.nombre_cliente,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS peso,
|
||||||
|
SUM(dvi.valor) AS valor, 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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN formapago_documento fd
|
||||||
|
ON ( fd.id_documento=dv.id_documento AND fd.id_sucursal=dv.id_sucursal )
|
||||||
|
JOIN forma_pago f
|
||||||
|
ON ( f.id_formapago=fd.id_formapago AND f.id_sucursal=fd.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND fd.id_formapago = '00'
|
||||||
|
AND YEAR(dv.fecha)=YEAR('2015-01-01')
|
||||||
|
GROUP BY
|
||||||
|
dv.id_documento
|
||||||
|
ORDER BY
|
||||||
|
valor DESC
|
||||||
30
2015-06-11-Ventas_contado_un_cliente.sql
Normal file
30
2015-06-11-Ventas_contado_un_cliente.sql
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
-- Ventas de contado por documento por año de un solo cliente
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.fecha AS Fecha,
|
||||||
|
dv.id_documento AS Documento_ventas, cs.nombre_cliente AS Cliente,
|
||||||
|
SUM(dvi.cantidad*i.peso*(IF(dvi.valor>0,1,-1))) AS peso,
|
||||||
|
SUM(dvi.valor) AS valor, SUM(dvi.valor-dvi.costo) AS utilidad,
|
||||||
|
f.descripcion AS Forma_pago
|
||||||
|
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 cliente_has_sucursal cs
|
||||||
|
ON ( dv.id_sucursal=cs.id_sucursal AND dv.id_cliente=cs.id_cliente )
|
||||||
|
JOIN formapago_documento fd
|
||||||
|
ON ( fd.id_documento=dv.id_documento AND fd.id_sucursal=dv.id_sucursal )
|
||||||
|
JOIN forma_pago f
|
||||||
|
ON ( f.id_formapago=fd.id_formapago AND f.id_sucursal=fd.id_sucursal )
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND NOT (i.tipo LIKE "5")
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha)=YEAR('2012-01-01')
|
||||||
|
AND dv.id_cliente = "73104915"
|
||||||
|
GROUP BY
|
||||||
|
dv.id_documento
|
||||||
|
ORDER BY
|
||||||
|
valor DESC
|
||||||
21
2015-07-07-numero_de_clientes_por_linea_por_sucursal.sql
Normal file
21
2015-07-07-numero_de_clientes_por_linea_por_sucursal.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
-- Numero de clientes Ene-Sep 2012-2013 por sucursal por linea
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dv.id_sucursal AS Suc,
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Mes,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Clientes
|
||||||
|
|
||||||
|
FROM
|
||||||
|
documento_ventas dv
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND (dv.id_cliente != "999")
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) >= 201507
|
||||||
|
AND EXTRACT(YEAR_MONTH FROM dv.fecha) <= 201509
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Mes, Suc
|
||||||
|
|
||||||
|
ORDER BY
|
||||||
|
Mes, Suc
|
||||||
42
2015-08-03-Clientes_por_plazo_por_familia.sql
Normal file
42
2015-08-03-Clientes_por_plazo_por_familia.sql
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
-- Sales per payment type year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
COUNT(DISTINCT dv.id_cliente) AS Num_Customers,
|
||||||
|
IF(
|
||||||
|
fp.dias <= 5,
|
||||||
|
'cash',
|
||||||
|
'credit'
|
||||||
|
) AS Sale_conditions,
|
||||||
|
IF(
|
||||||
|
l.id_linea_analisis >= 7
|
||||||
|
AND l.id_linea_analisis <= 19,
|
||||||
|
'flat',
|
||||||
|
'long'
|
||||||
|
) AS Family,
|
||||||
|
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 formapago_documento fpd
|
||||||
|
USING (id_documento, id_sucursal)
|
||||||
|
JOIN forma_pago fp
|
||||||
|
USING (id_formapago, id_sucursal)
|
||||||
|
JOIN item i
|
||||||
|
ON ( dvi.id_item = i.id_item
|
||||||
|
AND dvi.id_sucursal = i.id_sucursal )
|
||||||
|
JOIN view_lineas l
|
||||||
|
ON (l.id_linea = LEFT(i.id_linea,2))
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2012
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Family, Sale_conditions
|
||||||
39
2016-01-15-Sales_per_payment_per_line.sql
Normal file
39
2016-01-15-Sales_per_payment_per_line.sql
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
-- Sales per payment type per line year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
-- Usando tablas forma_pago, formapago_documento, y linea_analisis
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
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 formapago_documento fpd
|
||||||
|
USING (id_documento, id_sucursal)
|
||||||
|
JOIN forma_pago fp
|
||||||
|
USING (id_formapago)
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item)
|
||||||
|
JOIN view_lineas l
|
||||||
|
USING (id_linea)
|
||||||
|
|
||||||
|
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
|
||||||
|
Year, Sale_conditions, Line
|
||||||
33
2016-01-16-Sales_per_payment_per_line.sql
Normal file
33
2016-01-16-Sales_per_payment_per_line.sql
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
-- Sales per payment type per line year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
-- Sin usar tablas forma_pago, formapago_documento, ni linea_analisis
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
YEAR(dv.fecha) AS Year,
|
||||||
|
IF(
|
||||||
|
(dv.fecha_vencimiento - dv.fecha) <= 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
|
||||||
|
USING (id_item)
|
||||||
|
JOIN view_lineas l
|
||||||
|
USING ( id_linea )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "E?F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2015
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Year, Sale_conditions, Line
|
||||||
37
2016-01-17-Clientes_por_plazo_por_linea.sql
Normal file
37
2016-01-17-Clientes_por_plazo_por_linea.sql
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
-- 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
|
||||||
|
USING (id_item)
|
||||||
|
JOIN view_lineas l
|
||||||
|
USING (id_linea)
|
||||||
|
LEFT JOIN formapago_documento fpd
|
||||||
|
USING (id_documento, id_sucursal)
|
||||||
|
LEFT JOIN forma_pago fp
|
||||||
|
USING (id_formapago)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,3) RLIKE "E?F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2015
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month, Sale_conditions, Customer, Line
|
||||||
27
2016-01-18-Ventas_por_linea.sql
Normal file
27
2016-01-18-Ventas_por_linea.sql
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- Sales per per line year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
||||||
|
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,
|
||||||
|
SUM(dvi.costo) AS Cost
|
||||||
|
FROM
|
||||||
|
documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING ( id_documento,id_sucursal )
|
||||||
|
JOIN item i
|
||||||
|
USING (id_item)
|
||||||
|
JOIN view_lineas l
|
||||||
|
USING (id_linea)
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,3) RLIKE "E?F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2015
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month, Line
|
||||||
28
2016-01-18-Ventas_por_linea_uno.sql
Normal file
28
2016-01-18-Ventas_por_linea_uno.sql
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
-- Sales per payment type per line year to year
|
||||||
|
-- For Board Meeting presentation
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
EXTRACT(YEAR_MONTH FROM dv.fecha) AS Month,
|
||||||
|
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,
|
||||||
|
SUM(dvi.costo) AS Cost
|
||||||
|
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 )
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
LEFT(dv.id_documento,2) RLIKE "F[^0-9MPBC]"
|
||||||
|
AND NOT (dv.id_cliente LIKE "999")
|
||||||
|
AND YEAR(dv.fecha) >= 2015
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
Month, Line
|
||||||
35
2016-01-19-Clientes_por_plazo_por_linea.sql
Normal file
35
2016-01-19-Clientes_por_plazo_por_linea.sql
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-- 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(
|
||||||
|
(dv.fecha_vencimiento - dv.fecha) <= 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
|
||||||
|
USING (id_item)
|
||||||
|
JOIN view_lineas l
|
||||||
|
USING (id_linea)
|
||||||
|
|
||||||
|
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
|
||||||
40
2016-04-12-Clientes_por_plazo.sql
Normal file
40
2016-04-12-Clientes_por_plazo.sql
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
-- Clientes consolidados por año con ventas y devoluciones
|
||||||
|
|
||||||
|
-- Instrucciones de uso:
|
||||||
|
-- mysql --defaults-file=$HOME/.my_comercial_consultas.cnf < YEARLY-Customers_per_fiscal_year.sql > ../Agofer_Customers_per_year_FY$(date +%Y).csv
|
||||||
|
|
||||||
|
-- Nota: El campo Vendedor solo muestra el de una sucursal
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Customer_Id,
|
||||||
|
c.nombre_cliente AS Customer,
|
||||||
|
vdr.nombre_vendedor AS Sales_Associate,
|
||||||
|
c.telefono AS Phone,
|
||||||
|
c.direccion AS Address,
|
||||||
|
z.descripcion AS City,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
SUM(dvi.valor) AS Net_Sales
|
||||||
|
|
||||||
|
FROM documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING ( id_documento,id_sucursal )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING ( id_vendedor,id_sucursal )
|
||||||
|
LEFT JOIN cliente_has_sucursal c
|
||||||
|
USING ( id_cliente,id_sucursal )
|
||||||
|
JOIN sucursal su
|
||||||
|
USING ( id_sucursal )
|
||||||
|
LEFT JOIN sector se
|
||||||
|
ON ( se.id_sector=LEFT(c.id_sector,2) )
|
||||||
|
LEFT JOIN zona z
|
||||||
|
USING ( id_zona )
|
||||||
|
|
||||||
|
WHERE LEFT(dv.id_documento,2) RLIKE "F|D[^0-9MPBC]"
|
||||||
|
AND (dv.id_cliente > 999)
|
||||||
|
AND dv.fecha >= DATE(CONCAT(YEAR(now())-2,'-10-01'))
|
||||||
|
AND dv.fecha <= DATE(CONCAT(YEAR(now())-1,'-03-31'))
|
||||||
|
|
||||||
|
GROUP BY Customer_Id
|
||||||
|
|
||||||
|
HAVING Net_Sales > 0
|
||||||
|
|
||||||
|
ORDER BY Net_Sales DESC
|
||||||
40
2016-04-12-Clientes_por_plazo_Odoo.sql
Normal file
40
2016-04-12-Clientes_por_plazo_Odoo.sql
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
-- Clientes consolidados por año con ventas y devoluciones
|
||||||
|
|
||||||
|
-- Instrucciones de uso:
|
||||||
|
-- mysql --defaults-file=$HOME/.my_comercial_consultas.cnf < YEARLY-Customers_per_fiscal_year.sql > ../Agofer_Customers_per_year_FY$(date +%Y).csv
|
||||||
|
|
||||||
|
-- Nota: El campo Vendedor solo muestra el de una sucursal
|
||||||
|
|
||||||
|
SELECT c.id_cliente AS Customer_Id,
|
||||||
|
c.nombre_cliente AS Customer,
|
||||||
|
vdr.nombre_vendedor AS Sales_Associate,
|
||||||
|
dv.id_sucursal AS Branch,
|
||||||
|
c.telefono AS Phone,
|
||||||
|
c.direccion AS Address,
|
||||||
|
z.descripcion AS City,
|
||||||
|
se.descripcion AS Sector,
|
||||||
|
SUM(dvi.valor) AS Net_Sales
|
||||||
|
|
||||||
|
FROM documento_ventas dv
|
||||||
|
JOIN documento_ventas_has_item dvi
|
||||||
|
USING ( id_documento,id_sucursal )
|
||||||
|
LEFT JOIN vendedor vdr
|
||||||
|
USING ( id_vendedor,id_sucursal )
|
||||||
|
LEFT JOIN cliente_has_sucursal c
|
||||||
|
USING ( id_cliente,id_sucursal )
|
||||||
|
JOIN sucursal su
|
||||||
|
USING ( id_sucursal )
|
||||||
|
LEFT JOIN sector se
|
||||||
|
ON ( se.id_sector=LEFT(c.id_sector,2) )
|
||||||
|
LEFT JOIN zona z
|
||||||
|
USING ( id_zona )
|
||||||
|
|
||||||
|
WHERE (dv.id_cliente > 999)
|
||||||
|
AND dv.fecha >= DATE(CONCAT(YEAR(now())-1,'-10-01'))
|
||||||
|
AND dv.fecha <= DATE(CONCAT(YEAR(now()),'-09-30'))
|
||||||
|
|
||||||
|
GROUP BY Customer_Id
|
||||||
|
|
||||||
|
HAVING Net_Sales > 0
|
||||||
|
|
||||||
|
ORDER BY Net_Sales DESC
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user