DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`creditInsurance_getRisk`() BEGIN /** * Devuelve el riesgo de los clientes que estan asegurados * */ CREATE OR REPLACE TEMPORARY TABLE tmp.client_list (PRIMARY KEY (Id_Cliente)) ENGINE = MEMORY SELECT * FROM ( SELECT cc.client Id_Cliente, ci.grade FROM creditClassification cc JOIN creditInsurance ci ON cc.id = ci.creditClassification WHERE dateEnd IS NULL ORDER BY ci.creationDate DESC LIMIT 10000000000000000000) t1 GROUP BY Id_Cliente; CALL vn2008.risk_vs_client_list(util.VN_CURDATE()); SELECT c.id, c.name, c.credit clientCredit, c.creditInsurance solunion, cast(r.risk as DECIMAL(10,0)) risk, cast(c.creditInsurance - r.risk as decimal(10,0)) riskAlive, cac.invoiced billedAnnually, c.dueDay, ci.grade, c2.country FROM tmp.client_list ci LEFT JOIN tmp.risk r ON r.Id_Cliente = ci.Id_Cliente JOIN client c ON c.id = ci.Id_Cliente JOIN bs.clientAnnualConsumption cac ON c.id = cac.clientFk JOIN country c2 ON c2.id = c.countryFk GROUP BY c.id; DROP TEMPORARY TABLE IF EXISTS tmp.risk; DROP TEMPORARY TABLE IF EXISTS tmp.client_list; END$$ DELIMITER ;