险种大类统计.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. CREATE TABLE shanglifeecif.riskcode_statistics(
  2. id string,
  3. kindcode string DEFAULT NULL COMMENT '险种大类代码',
  4. kindNAme string DEFAULT NULL COMMENT '险种大类名称',
  5. khnum string DEFAULT NULL COMMENT '客户数量',--pwcomp ,-- '承保分公司 HEALTH_INSURANCE_LISTING.AGENTGROUPAREA 营业区HEALTH_INSURANCE_LISTING.AGENTGROUP 营业部',
  6. tatolprem string DEFAULT NULL COMMENT '总保额'
  7. ) COMMENT '险种大类统计表'
  8. STORED AS ES
  9. with shard number 10
  10. replication 1;
  11. CREATE OR REPLACE PROCEDURE shanglifeecif.riskcode_statistics() IS
  12. DECLARE
  13. BEGIN
  14. DELETE FROM shanglifeecif.riskcode_statistics;
  15. insert into shanglifeecif.riskcode_statistics (
  16. id,
  17. kindName,
  18. khnum,
  19. tatolprem
  20. ) --险种大类统计
  21. SELECT
  22. row_number()over(),
  23. temp.kindName,
  24. temp.khnum,
  25. temp.tatolprem
  26. FROM (
  27. select
  28. a.risk_categories_name AS kindName ,
  29. count(*) AS khnum,
  30. nvl(sum(a.prem),0) AS tatolprem
  31. FROM shanglifeecif.insurancearrangement a GROUP BY a.risk_categories_name
  32. ) temp;
  33. /*insert into shanglifeecif.riskcode_statistics (
  34. id,
  35. kindcode,
  36. kindNAme,
  37. khnum,
  38. tatolprem
  39. ) --险种大类统计
  40. SELECT row_number()over(),temp.kindcode,temp.kindname,temp.khnum,temp.totalPrem FROM (
  41. SELECT sl.kindcode,
  42. (CASE sl.kindcode
  43. WHEN 'A' THEN '意外伤害险'
  44. WHEN 'U' THEN '万能保险'
  45. WHEN 'R' THEN '年金保险'
  46. WHEN 'S' THEN '重疾保险'
  47. WHEN 'L' THEN '人寿保险'
  48. WHEN 'H' THEN '健康险'
  49. END) AS kindname,
  50. count(spi.idno) AS khnum,nvl(sum(spi.prem),0) AS totalPrem FROM lmriskapp sl
  51. LEFT JOIN policy_information spi ON spi.riskcode = sl.riskcode
  52. GROUP BY sl.kindcode
  53. ) temp;*/
  54. EXCEPTION
  55. WHEN HIVE_EXCEPTION THEN
  56. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  57. WHEN Others THEN
  58. INSERT INTO shanglifeecif.exception_log(log_code,log_msg,log_time) VALUES (sqlcode(),sqlerrm(),sysdate());
  59. END ;