33 lines
741 B
SQL
33 lines
741 B
SQL
DROP PROCEDURE IF EXISTS `bs`.`weekWaste_byWorker`;
|
|
|
|
DELIMITER $$
|
|
$$
|
|
CREATE
|
|
DEFINER = root@`%` PROCEDURE `bs`.`weekWaste_byWorker__`(IN vWorkerFk INT)
|
|
BEGIN
|
|
|
|
DECLARE vWeek INT;
|
|
DECLARE vYear INT;
|
|
|
|
SELECT week, year
|
|
INTO vWeek, vYear
|
|
FROM vn.time
|
|
WHERE dated = TIMESTAMPADD(WEEK, -1, CURDATE());
|
|
|
|
SELECT *, 100 * mermas / total AS porcentaje
|
|
FROM (
|
|
SELECT ws.family,
|
|
SUM(ws.saleTotal) AS total,
|
|
SUM(ws.saleWaste) AS mermas
|
|
FROM bs.waste ws
|
|
JOIN vn.worker w ON w.user = ws.buyer
|
|
WHERE year = vYear
|
|
AND week = vWeek
|
|
AND w.id = vWorkerFk
|
|
GROUP BY family
|
|
) sub
|
|
ORDER BY porcentaje DESC;
|
|
END;;$$
|
|
DELIMITER ;
|
|
|