43 lines
1.4 KiB
SQL
43 lines
1.4 KiB
SQL
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 ;
|