29 lines
634 B
SQL
29 lines
634 B
SQL
drop procedure weekWaste_byWorker;
|
|
|
|
create definer = root@`%` procedure 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;
|
|
|