USE jugos_ventas;
SELECT * FROM facturas;
SELECT * FROM items_facturas;
SELECT F.DNI,F.FECHA_VENTA,I.CANTIDAD FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO;
SELECT F.DNI,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,I.CANTIDAD FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO;
/*Cantida de venta por mes de cada cliente*/
SELECT F.DNI,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,SUM(I.CANTIDAD) AS CANTIDAD_VENDIDA FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO
GROUP BY DNI,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y")
ORDER BY DATE_FORMAT(F.FECHA_VENTA,"%m - %Y");
SELECT * FROM tabla_de_clientes;
SELECT DNI,NOMBRE,VOLUMEN_DE_COMPRA FROM tabla_de_clientes;
SELECT
F.DNI,
C.NOMBRE,
DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,
SUM(I.CANTIDAD) AS CANTIDAD_VENDIDA,
C.VOLUMEN_DE_COMPRA/10 AS CANTIDAD_MAXIMA
FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO
INNER JOIN tabla_de_clientes C ON F.DNI = C.DNI
GROUP BY DNI,C.NOMBRE,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y")
ORDER BY DNI -- DATE_FORMAT(F.FECHA_VENTA,"%m - %Y");
;
SELECT
A.DNI,
A.NOMBRE,
A.MES_AÑO,
(A.CANTIDAD_VENDIDA - A.CANTIDAD_MAXIMA) AS DIFERENCIAS
FROM (SELECT
F.DNI,
C.NOMBRE,
DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,
SUM(I.CANTIDAD) AS CANTIDAD_VENDIDA,
C.VOLUMEN_DE_COMPRA/10 AS CANTIDAD_MAXIMA
FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO
INNER JOIN tabla_de_clientes C ON F.DNI = C.DNI
GROUP BY DNI,C.NOMBRE,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y")
ORDER BY DNI) A;
SELECT
A.DNI,
A.NOMBRE,
A.MES_AÑO,
(A.CANTIDAD_VENDIDA - A.CANTIDAD_MAXIMA) AS DIFERENCIAS,
CASE WHEN (A.CANTIDAD_VENDIDA - A.CANTIDAD_MAXIMA) < 0 THEN 'Venta válida' ELSE 'Venta inválida' END AS STATUS_VENTA
FROM (SELECT
F.DNI,
C.NOMBRE,
DATE_FORMAT(F.FECHA_VENTA,"%m - %Y") AS MES_AÑO,
SUM(I.CANTIDAD) AS CANTIDAD_VENDIDA,
C.VOLUMEN_DE_COMPRA/10 AS CANTIDAD_MAXIMA
FROM facturas F
INNER JOIN items_facturas I ON I.NUMERO = F.NUMERO
INNER JOIN tabla_de_clientes C ON F.DNI = C.DNI
GROUP BY DNI,C.NOMBRE,DATE_FORMAT(F.FECHA_VENTA,"%m - %Y")
ORDER BY DNI) A;
/*Informe de Venta por Sabor 2016 */
SELECT
P.SABOR,
I.CANTIDAD,
F.FECHA_VENTA
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO;
SELECT
P.SABOR,
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY P.SABOR,YEAR(F.FECHA_VENTA)
ORDER BY SUM(I.CANTIDAD) DESC;
/*Cantidad total vendida 2016*/
SELECT
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY YEAR(F.FECHA_VENTA);
SELECT * FROM (
SELECT
P.SABOR,
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY P.SABOR,YEAR(F.FECHA_VENTA)
ORDER BY SUM(I.CANTIDAD) DESC) VENTAS_SABOR
INNER JOIN (
SELECT
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY YEAR(F.FECHA_VENTA)
) VENTA_TOTAL ON VENTA_TOTAL.AÑO = VENTAS_SABOR.AÑO;
SELECT
VENTAS_SABOR.SABOR,
VENTAS_SABOR.AÑO,
VENTAS_SABOR.CANTIDAD_TOTAL,
ROUND((VENTAS_SABOR.CANTIDAD_TOTAL/VENTA_TOTAL.CANTIDAD_TOTAL) * 100,2) AS PORCENTAJE
FROM (
SELECT
P.SABOR,
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY P.SABOR,YEAR(F.FECHA_VENTA)
ORDER BY SUM(I.CANTIDAD) DESC) VENTAS_SABOR
INNER JOIN (
SELECT
SUM(I.CANTIDAD) AS CANTIDAD_TOTAL,
YEAR(F.FECHA_VENTA) AS AÑO
FROM tabla_de_productos P
INNER JOIN items_facturas I ON I.CODIGO_DEL_PRODUCTO = P.CODIGO_DEL_PRODUCTO
INNER JOIN facturas F ON F.NUMERO = I.NUMERO
WHERE YEAR(F.FECHA_VENTA) = 2016
GROUP BY YEAR(F.FECHA_VENTA)
) VENTA_TOTAL ON VENTA_TOTAL.AÑO = VENTAS_SABOR.AÑO
ORDER BY VENTAS_SABOR.SABOR DESC;