DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`addressFriendship_Update`()
BEGIN

	REPLACE cache.addressFriendship 
		SELECT addressFk1, addressFk2, count(*) friendship
			FROM
				(
				SELECT t.routeFk, t.zoneFk, t.addressFk addressFk1, t2.addressFk addressFk2
					FROM vn.ticket t
						JOIN vn.ticket t2 USING(routeFk, zoneFk)
					WHERE t.shipped >= TIMESTAMPADD(MONTH,-3,util.VN_CURDATE())
						AND t2.shipped >= TIMESTAMPADD(MONTH,-3,util.VN_CURDATE())
						AND t.addressFk != t2.addressFk) sub
			GROUP BY addressFk1, addressFk2;
            
	REPLACE cache.zoneAgencyFriendship
		SELECT r.agencyModeFk, t.zoneFk, count(*) friendship
			FROM vn.route r
				JOIN vn.ticket t ON t.routeFk = r.id
			WHERE t.shipped >= TIMESTAMPADD(MONTH,-3,util.VN_CURDATE())
				AND r.agencyModeFk
				AND t.routeFk
                AND t.zoneFk
			GROUP BY agencyModeFk, zoneFk;
END$$
DELIMITER ;