25 lines
636 B
SQL
25 lines
636 B
SQL
|
|
DROP procedure IF EXISTS `vn`.`routeGuessPriority`;
|
|
|
|
DELIMITER $$
|
|
CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`routeGuessPriority`(IN vRuta INT)
|
|
BEGIN
|
|
/* Usa los valores del ultimo año para adivinar el orden de los tickets en la ruta
|
|
* vRuta id ruta
|
|
*/
|
|
UPDATE ticket mt
|
|
JOIN (
|
|
SELECT tt.addressFk, ROUND(IFNULL(AVG(t.priority),0),0) AS priority
|
|
FROM ticket t
|
|
JOIN ticket tt ON tt.addressFk = t.addressFk
|
|
WHERE t.shipped > TIMESTAMPADD(YEAR,-1,CURDATE())
|
|
AND tt.routeFk = vRuta
|
|
GROUP BY addressFk
|
|
) sub ON sub.addressFk = mt.addressFk
|
|
SET mt.priority = sub.priority
|
|
WHERE mt.routeFk = vRuta;
|
|
END$$
|
|
|
|
DELIMITER ;
|
|
|