salix/db/changes/10140-kings/00-waste_getDetail.sql

31 lines
586 B
SQL

USE `bs`;
DROP procedure IF EXISTS `waste_getDetail`;
DELIMITER $$
USE `bs`$$
CREATE DEFINER=`root`@`%`PROCEDURE `waste_getDetail` ()
BEGIN
DECLARE vWeek INT;
DECLARE vYear INT;
SELECT week, year
INTO vWeek, vYear
FROM vn.time
WHERE dated = CURDATE();
SELECT *, 100 * dwindle / total AS percentage
FROM (
SELECT buyer,
ws.family,
sum(ws.saleTotal) AS total,
sum(ws.saleWaste) AS dwindle
FROM bs.waste ws
WHERE `year` = vYear AND `week` = vWeek
GROUP BY buyer, family
) sub
ORDER BY percentage DESC;
END$$
DELIMITER ;