答:
Here goes, found that you are inserting only for the @name_pays of id=1, that is why you get only one row as a result set. Try the below procedure,

```CREATE DEFINER=`root`@`localhost` PROCEDURE `GET_ECERBER_STAT_BY_LIST`(datedebut DATETIME, datefin DATETIME,information VARCHAR(4000),IN  str_pays VARCHAR(4000),str_banque VARCHAR(4000))
BEGIN
     if information = 'NBReceived' then
      DROP TABLE IF EXISTS temp_tblist;
      truncate table stat_by_list;
      SET @row_number = 0;
      SET lc_time_names = 'fr_FR';
      CREATE   TABLE temp_tblist(
    id INT(100) NOT NULL, Pays varchar(255) NOT NULL, Mois varchar(255) NOT NULL,Remise INT(100) NOT NULL, PRIMARY KEY (id))
    ENGINE=MEMORY AS (select (@row_number:=@row_number + 1) as id,c.name_ as Pays,CONCAT(UCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),1,1)),LCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),2))) as Mois,count(*) as Remise from REGULATORYR rr INNER JOIN country c ON rr.COUNTRYPK_=c.pk_
    where rr.date_ in (select distinct rr.date_ as dater
    from REGULATORYR rr, country c
    where rr.date_>=datedebut and rr.date_<= datefin
    and c.pk_=rr.countrypk_
    group by substring(rr.date_,1,7))
    and c.pk_=rr.countrypk_  and c.CODE_ = str_pays
    group by COUNTRYPK_, substring(rr.date_,1,7)
    order by c.name_);
set @name_pays1  = (SELECT Pays FROM temp_tblist WHERE id=1);set @name_pays2  = (SELECT Pays FROM temp_tblist WHERE id=2);set @name_pays3  = (SELECT Pays FROM temp_tblist WHERE id=3);set @name_pays4  = (SELECT Pays FROM temp_tblist WHERE id=4);set @name_pays5  = (SELECT Pays FROM temp_tblist WHERE id=5);set @name_pays6  = (SELECT Pays FROM temp_tblist WHERE id=6);set @name_pays7  = (SELECT Pays FROM temp_tblist WHERE id=7);set @name_pays8  = (SELECT Pays FROM temp_tblist WHERE id=8);set @name_pays9  = (SELECT Pays FROM temp_tblist WHERE id=9);set @name_pays10  = (SELECT Pays FROM temp_tblist WHERE id=10);set @name_pays11  = (SELECT Pays FROM temp_tblist WHERE id=11);set @name_pays12  = (SELECT Pays FROM temp_tblist WHERE id=12);set @name_pays13  = (SELECT Pays FROM temp_tblist WHERE id=13);set @name_pays14  = (SELECT Pays FROM temp_tblist WHERE id=14);set @name_pays15  = (SELECT Pays FROM temp_tblist WHERE id=15);set @name_pays16  = (SELECT Pays FROM temp_tblist WHERE id=16);set @name_pays17  = (SELECT Pays FROM temp_tblist WHERE id=17);set @name_pays18  = (SELECT Pays FROM temp_tblist WHERE id=18);set @name_pays19  = (SELECT Pays FROM temp_tblist WHERE id=19);set @name_pays20  = (SELECT Pays FROM temp_tblist WHERE id=20);set @name_pays21  = (SELECT Pays FROM temp_tblist WHERE id=21);set @name_pays22  = (SELECT Pays FROM temp_tblist WHERE id=22);set @name_pays23  = (SELECT Pays FROM temp_tblist WHERE id=23);set @name_pays24  = (SELECT Pays FROM temp_tblist WHERE id=24);set @name_pays25  = (SELECT Pays FROM temp_tblist WHERE id=25);set @name_pays26  = (SELECT Pays FROM temp_tblist WHERE id=26);set @name_pays27  = (SELECT Pays FROM temp_tblist WHERE id=27);set @name_pays28  = (SELECT Pays FROM temp_tblist WHERE id=28);set @name_pays29  = (SELECT Pays FROM temp_tblist WHERE id=29);set @name_pays30  = (SELECT Pays FROM temp_tblist WHERE id=30);set @name_pays31  = (SELECT Pays FROM temp_tblist WHERE id=31);set @name_pays32  = (SELECT Pays FROM temp_tblist WHERE id=32);set @name_pays33  = (SELECT Pays FROM temp_tblist WHERE id=33);set @name_pays34  = (SELECT Pays FROM temp_tblist WHERE id=34);set @name_pays35  = (SELECT Pays FROM temp_tblist WHERE id=35);set @name_pays36  = (SELECT Pays FROM temp_tblist WHERE id=36);set @name_pays37  = (SELECT Pays FROM temp_tblist WHERE id=37);set @name_pays38  = (SELECT Pays FROM temp_tblist WHERE id=38);set @name_pays39  = (SELECT Pays FROM temp_tblist WHERE id=39);set @name_pays40  = (SELECT Pays FROM temp_tblist WHERE id=40);set @name_pays41  = (SELECT Pays FROM temp_tblist WHERE id=41);set @name_pays42  = (SELECT Pays FROM temp_tblist WHERE id=42);set @name_pays43  = (SELECT Pays FROM temp_tblist WHERE id=43);set @name_pays44  = (SELECT Pays FROM temp_tblist WHERE id=44);set @name_pays45  = (SELECT Pays FROM temp_tblist WHERE id=45);set @name_pays46  = (SELECT Pays FROM temp_tblist WHERE id=46);set @name_pays47  = (SELECT Pays FROM temp_tblist WHERE id=47);set @name_pays48  = (SELECT Pays FROM temp_tblist WHERE id=48);set @name_pays49  = (SELECT Pays FROM temp_tblist WHERE id=49);set @name_pays50  = (SELECT Pays FROM temp_tblist WHERE id=50);
    set @val1  = (SELECT Remise FROM temp_tblist WHERE id=1);set @val2 = (SELECT Remise FROM temp_tblist WHERE id=2);set @val3  = (SELECT Remise FROM temp_tblist WHERE id=3);set @val4  = (SELECT Remise FROM temp_tblist WHERE id=4);
    set @val5  = (SELECT Remise FROM temp_tblist WHERE id=5);set @val6  = (SELECT Remise FROM temp_tblist WHERE id=6);set @val7  = (SELECT Remise FROM temp_tblist WHERE id=7);set @val8  = (SELECT Remise FROM temp_tblist WHERE id=8);
    set @val9  = (SELECT Remise FROM temp_tblist WHERE id=9);set @val10 = (SELECT Remise FROM temp_tblist WHERE id=10);set @val11 = (SELECT Remise FROM temp_tblist WHERE id=11);set @val12 = (SELECT Remise FROM temp_tblist WHERE id=12);
    set @val13 = (SELECT Remise FROM temp_tblist WHERE id=13);set @val14 = (SELECT Remise FROM temp_tblist WHERE id=14);set @val15 = (SELECT Remise FROM temp_tblist WHERE id=15);set @val16 = (SELECT Remise FROM temp_tblist WHERE id=16);
    set @val17 = (SELECT Remise FROM temp_tblist WHERE id=17);set @val18 = (SELECT Remise FROM temp_tblist WHERE id=18);set @val19 = (SELECT Remise FROM temp_tblist WHERE id=19);set @val20 = (SELECT Remise FROM temp_tblist WHERE id=20);
    set @val21 = (SELECT Remise FROM temp_tblist WHERE id=21);set @val22 = (SELECT Remise FROM temp_tblist WHERE id=22);set @val23 = (SELECT Remise FROM temp_tblist WHERE id=23);set @val24 = (SELECT Remise FROM temp_tblist WHERE id=24);
    set @val25 = (SELECT Remise FROM temp_tblist WHERE id=25);set @val26  = (SELECT Remise FROM temp_tblist WHERE id=26);set @val27  =(SELECT Remise FROM temp_tblist WHERE id=27);set @val28  =(SELECT Remise FROM temp_tblist WHERE id=28);
    set @val29  = (SELECT Remise FROM temp_tblist WHERE id=29);set @val30  = (SELECT Remise FROM temp_tblist WHERE id=30);set @val31  = (SELECT Remise FROM temp_tblist WHERE id=31);set @val32  = (SELECT Remise FROM temp_tblist WHERE id=32);
    set @val33  = (SELECT Remise FROM temp_tblist WHERE id=33);set @val34  = (SELECT Remise FROM temp_tblist WHERE id=34);set @val35 = (SELECT Remise FROM temp_tblist WHERE id=35);set @val36 = (SELECT Remise FROM temp_tblist WHERE id=36);
    set @val37 = (SELECT Remise FROM temp_tblist WHERE id=37);set @val38 = (SELECT Remise FROM temp_tblist WHERE id=38);set @val39 = (SELECT Remise FROM temp_tblist WHERE id=39);set @val40 = (SELECT Remise FROM temp_tblist WHERE id=40);
    set @val41 = (SELECT Remise FROM temp_tblist WHERE id=41);set @val42 = (SELECT Remise FROM temp_tblist WHERE id=42);set @val43 = (SELECT Remise FROM temp_tblist WHERE id=43);set @val44 = (SELECT Remise FROM temp_tblist WHERE id=44);
    set @val45 = (SELECT Remise FROM temp_tblist WHERE id=45);set @val46 = (SELECT Remise FROM temp_tblist WHERE id=46);set @val47 = (SELECT Remise FROM temp_tblist WHERE id=47);set @val48 = (SELECT Remise FROM temp_tblist WHERE id=48);
    set @val49 = (SELECT Remise FROM temp_tblist WHERE id=49);set @val50 = (SELECT Remise FROM temp_tblist WHERE id=50);set @val51  = (SELECT Remise FROM temp_tblist WHERE id=51);
    insert into stat_by_list(TITRE_,VALEUR1_,VALEUR2_,VALEUR3_,VALEUR4_,VALEUR5_,VALEUR6_,VALEUR7_,VALEUR8_,VALEUR9_,VALEUR10_,VALEUR11_,VALEUR12_,VALEUR13_,VALEUR14_,VALEUR15_,VALEUR16_,VALEUR17_,VALEUR18_,VALEUR19_,VALEUR20_,VALEUR21_,VALEUR22_,VALEUR23_,VALEUR24_,VALEUR25_,VALEUR26_,VALEUR27_,VALEUR28_,VALEUR29_,VALEUR30_,VALEUR31_,VALEUR32_,VALEUR33_,VALEUR34_,VALEUR35_,VALEUR36_,VALEUR37_,VALEUR38_,VALEUR39_,VALEUR40_,VALEUR41_,VALEUR42_,VALEUR43_,VALEUR44_,VALEUR45_,VALEUR46_,VALEUR47_,VALEUR48_,VALEUR49_,
        VALEUR50_)
        values ((@name_pays1,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays2,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays3,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays4,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays5,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays6,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays7,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays8,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays9,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays10,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays11,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays12,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays13,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays14,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays15,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays16,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays17,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays18,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays19,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays20,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays21,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays22,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays23,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays24,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays25,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays26,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays27,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays28,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays29,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays30,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays31,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays32,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays33,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays34,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays35,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays36,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays37,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays38,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays39,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays40,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays41,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays42,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays43,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays44,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays45,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays46,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays47,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays48,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays49,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays50,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50));
        select * from stat_by_list;
    end if;
    End
```

Title: Stored Procedure That Insert Multi Row in a Table

Body:
I would like to insert more than one line into a table in a stored procedure,
It must be taken into concord that my values are recovered in a temporary array as follows:

mysql> select * from temp_tblist;

mysql> select * from temp_tblist ;

+------------------------------+---------------+--------------+-----------+
| id                           | NOm           | Mois         | Remise    |
+------------------------------+---------------+--------------+-----------+
| 1                            |Côte d'Ivoire  |Janvier 2019  | 2         |
| 2                            | Sénégal       | Janvier 2019 | 1         |
+------------------------------+---------------+-----------+--------------+
2 rows in set (0.30 sec)

The result of my procedure should be as follows:

mysql>  call GET_ECERBER_STAT_BY_LIST('2018-01-01','2019-12-29','NBReceived','CIV,SN',null);

+------------------------------+---------------+--------------+-----------+
| Titre                        | Valeur1       | Valeur2      | Valeur3   |
+------------------------------+---------------+--------------+-----------+
| Côte d'Ivoire                |10             |15            | 21        |
| Sénégal                      |2              |5             | 11        |
+------------------------------+---------------+-----------+--------------+
2 rows in set (0.30 sec)

Currently, I can insert in the table only one value as follows:

mysql>  call GET_ECERBER_STAT_BY_LIST('2018-01-01','2019-12-29','NBReceived','CIV',null);
+------------------------------+---------------+--------------+-----------+
| Titre                        | Valeur1       | Valeur2      | Valeur3   |
+------------------------------+---------------+--------------+-----------+
| Côte d'Ivoire                |10             |15            | 21        |
+------------------------------+---------------+-----------+--------------+
1 rows in set (0.30 sec)

Adding create syntax for the sp

CREATE DEFINER=`root`@`localhost` PROCEDURE `GET_ECERBER_STAT_BY_LIST`(datedebut DATETIME, datefin DATETIME,information VARCHAR(4000),IN  str_pays VARCHAR(4000),str_banque VARCHAR(4000))
BEGIN
     if information = 'NBReceived' then
      DROP TABLE IF EXISTS temp_tblist;
      truncate table stat_by_list;
      SET @row_number = 0;
      SET lc_time_names = 'fr_FR';
      CREATE   TABLE temp_tblist(
    id INT(100) NOT NULL, Pays varchar(255) NOT NULL, Mois varchar(255) NOT NULL,Remise INT(100) NOT NULL, PRIMARY KEY (id))
    ENGINE=MEMORY AS (select (@row_number:=@row_number + 1) as id,c.name_ as Pays,CONCAT(UCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),1,1)),LCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),2))) as Mois,count(*) as Remise from REGULATORYR rr INNER JOIN country c ON rr.COUNTRYPK_=c.pk_
    where rr.date_ in (select distinct rr.date_ as dater
    from REGULATORYR rr, country c
    where rr.date_>=datedebut and rr.date_<= datefin
    and c.pk_=rr.countrypk_
    group by substring(rr.date_,1,7))
    and c.pk_=rr.countrypk_  and c.CODE_ = str_pays
    group by COUNTRYPK_, substring(rr.date_,1,7)
    order by c.name_);
    set @name_pays  = (SELECT Pays FROM temp_tblist WHERE id=1);
    set @val1  = (SELECT Remise FROM temp_tblist WHERE id=1);set @val2 = (SELECT Remise FROM temp_tblist WHERE id=2);set @val3  = (SELECT Remise FROM temp_tblist WHERE id=3);set @val4  = (SELECT Remise FROM temp_tblist WHERE id=4);
    set @val5  = (SELECT Remise FROM temp_tblist WHERE id=5);set @val6  = (SELECT Remise FROM temp_tblist WHERE id=6);set @val7  = (SELECT Remise FROM temp_tblist WHERE id=7);set @val8  = (SELECT Remise FROM temp_tblist WHERE id=8);
    set @val9  = (SELECT Remise FROM temp_tblist WHERE id=9);set @val10 = (SELECT Remise FROM temp_tblist WHERE id=10);set @val11 = (SELECT Remise FROM temp_tblist WHERE id=11);set @val12 = (SELECT Remise FROM temp_tblist WHERE id=12);
    set @val13 = (SELECT Remise FROM temp_tblist WHERE id=13);set @val14 = (SELECT Remise FROM temp_tblist WHERE id=14);set @val15 = (SELECT Remise FROM temp_tblist WHERE id=15);set @val16 = (SELECT Remise FROM temp_tblist WHERE id=16);
    set @val17 = (SELECT Remise FROM temp_tblist WHERE id=17);set @val18 = (SELECT Remise FROM temp_tblist WHERE id=18);set @val19 = (SELECT Remise FROM temp_tblist WHERE id=19);set @val20 = (SELECT Remise FROM temp_tblist WHERE id=20);
    set @val21 = (SELECT Remise FROM temp_tblist WHERE id=21);set @val22 = (SELECT Remise FROM temp_tblist WHERE id=22);set @val23 = (SELECT Remise FROM temp_tblist WHERE id=23);set @val24 = (SELECT Remise FROM temp_tblist WHERE id=24);
    set @val25 = (SELECT Remise FROM temp_tblist WHERE id=25);set @val26  = (SELECT Remise FROM temp_tblist WHERE id=26);set @val27  =(SELECT Remise FROM temp_tblist WHERE id=27);set @val28  =(SELECT Remise FROM temp_tblist WHERE id=28);
    set @val29  = (SELECT Remise FROM temp_tblist WHERE id=29);set @val30  = (SELECT Remise FROM temp_tblist WHERE id=30);set @val31  = (SELECT Remise FROM temp_tblist WHERE id=31);set @val32  = (SELECT Remise FROM temp_tblist WHERE id=32);
    set @val33  = (SELECT Remise FROM temp_tblist WHERE id=33);set @val34  = (SELECT Remise FROM temp_tblist WHERE id=34);set @val35 = (SELECT Remise FROM temp_tblist WHERE id=35);set @val36 = (SELECT Remise FROM temp_tblist WHERE id=36);
    set @val37 = (SELECT Remise FROM temp_tblist WHERE id=37);set @val38 = (SELECT Remise FROM temp_tblist WHERE id=38);set @val39 = (SELECT Remise FROM temp_tblist WHERE id=39);set @val40 = (SELECT Remise FROM temp_tblist WHERE id=40);
    set @val41 = (SELECT Remise FROM temp_tblist WHERE id=41);set @val42 = (SELECT Remise FROM temp_tblist WHERE id=42);set @val43 = (SELECT Remise FROM temp_tblist WHERE id=43);set @val44 = (SELECT Remise FROM temp_tblist WHERE id=44);
    set @val45 = (SELECT Remise FROM temp_tblist WHERE id=45);set @val46 = (SELECT Remise FROM temp_tblist WHERE id=46);set @val47 = (SELECT Remise FROM temp_tblist WHERE id=47);set @val48 = (SELECT Remise FROM temp_tblist WHERE id=48);
    set @val49 = (SELECT Remise FROM temp_tblist WHERE id=49);set @val50 = (SELECT Remise FROM temp_tblist WHERE id=50);set @val51  = (SELECT Remise FROM temp_tblist WHERE id=51);
    insert into stat_by_list(TITRE_,VALEUR1_,VALEUR2_,VALEUR3_,VALEUR4_,VALEUR5_,VALEUR6_,VALEUR7_,VALEUR8_,VALEUR9_,VALEUR10_,VALEUR11_,VALEUR12_,VALEUR13_,VALEUR14_,VALEUR15_,VALEUR16_,VALEUR17_,VALEUR18_,VALEUR19_,VALEUR20_,VALEUR21_,VALEUR22_,VALEUR23_,VALEUR24_,VALEUR25_,VALEUR26_,VALEUR27_,VALEUR28_,VALEUR29_,VALEUR30_,VALEUR31_,VALEUR32_,VALEUR33_,VALEUR34_,VALEUR35_,VALEUR36_,VALEUR37_,VALEUR38_,VALEUR39_,VALEUR40_,VALEUR41_,VALEUR42_,VALEUR43_,VALEUR44_,VALEUR45_,VALEUR46_,VALEUR47_,VALEUR48_,VALEUR49_,
        VALEUR50_)
        values (@name_pays,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,
        @val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,
        @val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,
        @val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,
        @val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50
    );
        select * from stat_by_list;
    end if;
    End

and create table

CREATE TABLE IF NOT EXISTS stat_by_list(TITRE_ VARCHAR(255),VALEUR1_ INT(11),
    VALEUR2_ INT(11),VALEUR3_ INT(11),VALEUR4_ INT(11),VALEUR5_ INT(11),
VALEUR6_ INT(11),VALEUR7_ INT(11),VALEUR8_ INT(11),VALEUR9_ INT(11),
VALEUR10_ INT(11),VALEUR11_ INT(11),VALEUR12_ INT(11),
VALEUR13_ ......,VALEUR50_ );

Body:
Here goes, found that you are inserting only for the @name_pays of id=1, that is why you get only one row as a result set. Try the below procedure,

CREATE DEFINER=`root`@`localhost` PROCEDURE `GET_ECERBER_STAT_BY_LIST`(datedebut DATETIME, datefin DATETIME,information VARCHAR(4000),IN  str_pays VARCHAR(4000),str_banque VARCHAR(4000))
BEGIN
     if information = 'NBReceived' then
      DROP TABLE IF EXISTS temp_tblist;
      truncate table stat_by_list;
      SET @row_number = 0;
      SET lc_time_names = 'fr_FR';
      CREATE   TABLE temp_tblist(
    id INT(100) NOT NULL, Pays varchar(255) NOT NULL, Mois varchar(255) NOT NULL,Remise INT(100) NOT NULL, PRIMARY KEY (id))
    ENGINE=MEMORY AS (select (@row_number:=@row_number + 1) as id,c.name_ as Pays,CONCAT(UCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),1,1)),LCASE(MID(DATE_FORMAT(rr.date_,"%M %Y"),2))) as Mois,count(*) as Remise from REGULATORYR rr INNER JOIN country c ON rr.COUNTRYPK_=c.pk_
    where rr.date_ in (select distinct rr.date_ as dater
    from REGULATORYR rr, country c
    where rr.date_>=datedebut and rr.date_<= datefin
    and c.pk_=rr.countrypk_
    group by substring(rr.date_,1,7))
    and c.pk_=rr.countrypk_  and c.CODE_ = str_pays
    group by COUNTRYPK_, substring(rr.date_,1,7)
    order by c.name_);
set @name_pays1  = (SELECT Pays FROM temp_tblist WHERE id=1);set @name_pays2  = (SELECT Pays FROM temp_tblist WHERE id=2);set @name_pays3  = (SELECT Pays FROM temp_tblist WHERE id=3);set @name_pays4  = (SELECT Pays FROM temp_tblist WHERE id=4);set @name_pays5  = (SELECT Pays FROM temp_tblist WHERE id=5);set @name_pays6  = (SELECT Pays FROM temp_tblist WHERE id=6);set @name_pays7  = (SELECT Pays FROM temp_tblist WHERE id=7);set @name_pays8  = (SELECT Pays FROM temp_tblist WHERE id=8);set @name_pays9  = (SELECT Pays FROM temp_tblist WHERE id=9);set @name_pays10  = (SELECT Pays FROM temp_tblist WHERE id=10);set @name_pays11  = (SELECT Pays FROM temp_tblist WHERE id=11);set @name_pays12  = (SELECT Pays FROM temp_tblist WHERE id=12);set @name_pays13  = (SELECT Pays FROM temp_tblist WHERE id=13);set @name_pays14  = (SELECT Pays FROM temp_tblist WHERE id=14);set @name_pays15  = (SELECT Pays FROM temp_tblist WHERE id=15);set @name_pays16  = (SELECT Pays FROM temp_tblist WHERE id=16);set @name_pays17  = (SELECT Pays FROM temp_tblist WHERE id=17);set @name_pays18  = (SELECT Pays FROM temp_tblist WHERE id=18);set @name_pays19  = (SELECT Pays FROM temp_tblist WHERE id=19);set @name_pays20  = (SELECT Pays FROM temp_tblist WHERE id=20);set @name_pays21  = (SELECT Pays FROM temp_tblist WHERE id=21);set @name_pays22  = (SELECT Pays FROM temp_tblist WHERE id=22);set @name_pays23  = (SELECT Pays FROM temp_tblist WHERE id=23);set @name_pays24  = (SELECT Pays FROM temp_tblist WHERE id=24);set @name_pays25  = (SELECT Pays FROM temp_tblist WHERE id=25);set @name_pays26  = (SELECT Pays FROM temp_tblist WHERE id=26);set @name_pays27  = (SELECT Pays FROM temp_tblist WHERE id=27);set @name_pays28  = (SELECT Pays FROM temp_tblist WHERE id=28);set @name_pays29  = (SELECT Pays FROM temp_tblist WHERE id=29);set @name_pays30  = (SELECT Pays FROM temp_tblist WHERE id=30);set @name_pays31  = (SELECT Pays FROM temp_tblist WHERE id=31);set @name_pays32  = (SELECT Pays FROM temp_tblist WHERE id=32);set @name_pays33  = (SELECT Pays FROM temp_tblist WHERE id=33);set @name_pays34  = (SELECT Pays FROM temp_tblist WHERE id=34);set @name_pays35  = (SELECT Pays FROM temp_tblist WHERE id=35);set @name_pays36  = (SELECT Pays FROM temp_tblist WHERE id=36);set @name_pays37  = (SELECT Pays FROM temp_tblist WHERE id=37);set @name_pays38  = (SELECT Pays FROM temp_tblist WHERE id=38);set @name_pays39  = (SELECT Pays FROM temp_tblist WHERE id=39);set @name_pays40  = (SELECT Pays FROM temp_tblist WHERE id=40);set @name_pays41  = (SELECT Pays FROM temp_tblist WHERE id=41);set @name_pays42  = (SELECT Pays FROM temp_tblist WHERE id=42);set @name_pays43  = (SELECT Pays FROM temp_tblist WHERE id=43);set @name_pays44  = (SELECT Pays FROM temp_tblist WHERE id=44);set @name_pays45  = (SELECT Pays FROM temp_tblist WHERE id=45);set @name_pays46  = (SELECT Pays FROM temp_tblist WHERE id=46);set @name_pays47  = (SELECT Pays FROM temp_tblist WHERE id=47);set @name_pays48  = (SELECT Pays FROM temp_tblist WHERE id=48);set @name_pays49  = (SELECT Pays FROM temp_tblist WHERE id=49);set @name_pays50  = (SELECT Pays FROM temp_tblist WHERE id=50);
    set @val1  = (SELECT Remise FROM temp_tblist WHERE id=1);set @val2 = (SELECT Remise FROM temp_tblist WHERE id=2);set @val3  = (SELECT Remise FROM temp_tblist WHERE id=3);set @val4  = (SELECT Remise FROM temp_tblist WHERE id=4);
    set @val5  = (SELECT Remise FROM temp_tblist WHERE id=5);set @val6  = (SELECT Remise FROM temp_tblist WHERE id=6);set @val7  = (SELECT Remise FROM temp_tblist WHERE id=7);set @val8  = (SELECT Remise FROM temp_tblist WHERE id=8);
    set @val9  = (SELECT Remise FROM temp_tblist WHERE id=9);set @val10 = (SELECT Remise FROM temp_tblist WHERE id=10);set @val11 = (SELECT Remise FROM temp_tblist WHERE id=11);set @val12 = (SELECT Remise FROM temp_tblist WHERE id=12);
    set @val13 = (SELECT Remise FROM temp_tblist WHERE id=13);set @val14 = (SELECT Remise FROM temp_tblist WHERE id=14);set @val15 = (SELECT Remise FROM temp_tblist WHERE id=15);set @val16 = (SELECT Remise FROM temp_tblist WHERE id=16);
    set @val17 = (SELECT Remise FROM temp_tblist WHERE id=17);set @val18 = (SELECT Remise FROM temp_tblist WHERE id=18);set @val19 = (SELECT Remise FROM temp_tblist WHERE id=19);set @val20 = (SELECT Remise FROM temp_tblist WHERE id=20);
    set @val21 = (SELECT Remise FROM temp_tblist WHERE id=21);set @val22 = (SELECT Remise FROM temp_tblist WHERE id=22);set @val23 = (SELECT Remise FROM temp_tblist WHERE id=23);set @val24 = (SELECT Remise FROM temp_tblist WHERE id=24);
    set @val25 = (SELECT Remise FROM temp_tblist WHERE id=25);set @val26  = (SELECT Remise FROM temp_tblist WHERE id=26);set @val27  =(SELECT Remise FROM temp_tblist WHERE id=27);set @val28  =(SELECT Remise FROM temp_tblist WHERE id=28);
    set @val29  = (SELECT Remise FROM temp_tblist WHERE id=29);set @val30  = (SELECT Remise FROM temp_tblist WHERE id=30);set @val31  = (SELECT Remise FROM temp_tblist WHERE id=31);set @val32  = (SELECT Remise FROM temp_tblist WHERE id=32);
    set @val33  = (SELECT Remise FROM temp_tblist WHERE id=33);set @val34  = (SELECT Remise FROM temp_tblist WHERE id=34);set @val35 = (SELECT Remise FROM temp_tblist WHERE id=35);set @val36 = (SELECT Remise FROM temp_tblist WHERE id=36);
    set @val37 = (SELECT Remise FROM temp_tblist WHERE id=37);set @val38 = (SELECT Remise FROM temp_tblist WHERE id=38);set @val39 = (SELECT Remise FROM temp_tblist WHERE id=39);set @val40 = (SELECT Remise FROM temp_tblist WHERE id=40);
    set @val41 = (SELECT Remise FROM temp_tblist WHERE id=41);set @val42 = (SELECT Remise FROM temp_tblist WHERE id=42);set @val43 = (SELECT Remise FROM temp_tblist WHERE id=43);set @val44 = (SELECT Remise FROM temp_tblist WHERE id=44);
    set @val45 = (SELECT Remise FROM temp_tblist WHERE id=45);set @val46 = (SELECT Remise FROM temp_tblist WHERE id=46);set @val47 = (SELECT Remise FROM temp_tblist WHERE id=47);set @val48 = (SELECT Remise FROM temp_tblist WHERE id=48);
    set @val49 = (SELECT Remise FROM temp_tblist WHERE id=49);set @val50 = (SELECT Remise FROM temp_tblist WHERE id=50);set @val51  = (SELECT Remise FROM temp_tblist WHERE id=51);
    insert into stat_by_list(TITRE_,VALEUR1_,VALEUR2_,VALEUR3_,VALEUR4_,VALEUR5_,VALEUR6_,VALEUR7_,VALEUR8_,VALEUR9_,VALEUR10_,VALEUR11_,VALEUR12_,VALEUR13_,VALEUR14_,VALEUR15_,VALEUR16_,VALEUR17_,VALEUR18_,VALEUR19_,VALEUR20_,VALEUR21_,VALEUR22_,VALEUR23_,VALEUR24_,VALEUR25_,VALEUR26_,VALEUR27_,VALEUR28_,VALEUR29_,VALEUR30_,VALEUR31_,VALEUR32_,VALEUR33_,VALEUR34_,VALEUR35_,VALEUR36_,VALEUR37_,VALEUR38_,VALEUR39_,VALEUR40_,VALEUR41_,VALEUR42_,VALEUR43_,VALEUR44_,VALEUR45_,VALEUR46_,VALEUR47_,VALEUR48_,VALEUR49_,
        VALEUR50_)
        values ((@name_pays1,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays2,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays3,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays4,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays5,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays6,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays7,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays8,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays9,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays10,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays11,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays12,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays13,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays14,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays15,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays16,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays17,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays18,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays19,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays20,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays21,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays22,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays23,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays24,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays25,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays26,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays27,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays28,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays29,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays30,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays31,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays32,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays33,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays34,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays35,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays36,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays37,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays38,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays39,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays40,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays41,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays42,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays43,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays44,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays45,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays46,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays47,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays48,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays49,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50),
(@name_pays50,@val1,@val2,@val3,@val4, @val5,@val6,@val7,@val8,@val9,@val10,@val11,@val12,@val13,@val14,@val15,@val16,@val17,@val18,@val19,@val20,@val21,@val22,@val23,@val24,@val25,@val26,@val27,@val28,@val29,@val30,@val31,@val32,@val33,@val34,@val35,@val36,@val37,@val38,@val39,@val40,@val41,@val42,@val43,@val44,@val45,@val46,@val47,@val48,@val49,@val50));
        select * from stat_by_list;
    end if;
    End


来源: stackexchange

问:
Merge 2 collections on a condition to populate a nested collection
I have 2 collections in which I get data from DB.

Collection 1 column names: A_id, Bid, PCid, Bname ==> all text fields

Collection 2 column names: A_ref, Cid, Cname, value ==> all text fields

Collection 1 and 2 are related based on collection1.A_id=collection2.A_ref

I have a 3rd collection which is a nested collection:

Collection 3 Column names: action(text), colA (collection)

colA column names: Bid(text), PCid(text), Bname(text), colB (collection)

colB column names: Cid, Cname, value ==> all text fields

I want to join collection 1 and collection 2 based on mentioned condition to load the nested collection 3.

Please help.

I have tried using the collection VBO but didnt succeed. I also tried using a nested loop stage and counters with a decision stage but my code fails to add empty row to the nested collection before populating the values.

Using Blueprism stages

I want to join collection 1 and collection 2 based on mentioned condition to load the nested collection 3.

I am using a nested loop stage and counters with a decision stage but my code fails to add row to the nested collection.

答:
Aswin, please check the solution below:

For further information, i will pass the XML file as for you to import to Blue Prism and check every stage, since it would require a lot of time and screenshots to explain everything. Plus you will have a clear understanding of every step in your environment.

Download XML file from my github repository link:

Blue Prism Merge Collections to populate a nested-collection

Hope these information will be useful.

ContentLicense: CC BY-SA 4.0


问:
How to find the top three column totals using SQL
Trying to sum all columns in my table and to find the top 3 of them.

columns have only a value of 1 or 0. That's why I am trying to sum the all inputs to compare them with each other.

I've stucked with order by code integrated into sum()

```<code>SELECT (ID)
FROM Student
ORDER BY SUM(C1), SUMC(C2)...SUM(C10)
lIMIT 3
</code>```

答:
try - </p>

```<code>    SELECT TOP 3 (ID)
    FROM Student
    GROUP BY (ID)
    ORDER BY SUM(C1), SUMC(C2)...SUM(C10) DESC
</code>```

Body:
Trying to sum all columns in my table and to find the top 3 of them.

columns have only a value of 1 or 0. That's why I am trying to sum the all inputs to compare them with each other.

I've stucked with order by code integrated into sum()

SELECT (ID)
FROM Student
ORDER BY SUM(C1), SUMC(C2)...SUM(C10)
lIMIT 3

Body:
try -

    SELECT TOP 3 (ID)
    FROM Student
    GROUP BY (ID)
    ORDER BY SUM(C1), SUMC(C2)...SUM(C10) DESC


问:
How to extract lower and upper bound in numeric format from a confidence interval string?
Suppose a vector including some confidence intervals as below

```<code>confint <- c("[0.741 ; 2.233]", "[263.917 ; 402.154]", "[12.788 ; 17.975]", "[0.680 ; 2.450]", "[0.650 ; 1.827]", "[0.719 ; 2.190]")
</code>```

I want to have two new vectors one including the lower Limits in numeric format as

```<code>lower <- c(0.741, 263.917, 12.788, 0.680, 0.650 , 0.719)
</code>```

and othe including the upper Limits in numeric format like

```<code>upper <- c(2.233, 402.154, 17.975, 2.450, 1.827, 2.190)
</code>```

Body:
Suppose a vector including some confidence intervals as below

confint <- c("[0.741 ; 2.233]", "[263.917 ; 402.154]", "[12.788 ; 17.975]", "[0.680 ; 2.450]", "[0.650 ; 1.827]", "[0.719 ; 2.190]")

I want to have two new vectors one including the lower Limits in numeric format as

lower <- c(0.741, 263.917, 12.788, 0.680, 0.650 , 0.719)

and othe including the upper Limits in numeric format like

upper <- c(2.233, 402.154, 17.975, 2.450, 1.827, 2.190)

Body:
A base R solution

lower =  as.numeric(sub(".*?(\\d+\\.\\d+).*", "\\1", confint))
upper =  as.numeric(sub(".*\\b(\\d+\\.\\d+).*", "\\1", confint))

lower
[1]   0.741 263.917  12.788   0.680   0.650   0.719
upper
[1] 2.233 402.154  17.975   2.450   1.827   2.190


答:
Since the bins (ranges) are already defined and their counts are already aggregated at an initial level, maybe it can help if you build something that overlays a histogram (distribution) on the top of the existing bin ranges:

```<code>import matplotlib
%matplotlib inline
def plot_hist(bins,input_dict):
    df1 = pd.DataFrame(input_dict).reset_index()
    df1['min'] = df1['index'].apply(lambda x:x.split('-')[0]).astype(int)
    df1['max'] = df1['index'].apply(lambda x:x.split('-')[1]).astype(int)
    df1['group'] = pd.cut(df1['max'],bins,labels=False)
    df2 = df1.groupby('group' [['Day1','min','max']].agg({'min':'min','max':'max','Day1':'sum'}).reset_index()
    df2['range_new'] = df2['min'].astype(str) + str('-') + df2['max'].astype(str)
    df2.plot(x='range_new',y='Day1',kind='bar')
</code>```

...and call the function by choosing bins lesser than the length of the dictionary - or the first level of 98 bins that are already there, like, say if you want a distribution of 20 groups aggregate:

```<code>plot_hist(20,scenario_summary)
</code>```

Result Image :

hope it helps...

Title: Plotting a histogram using a range of values and their frequency as a dictionary

Body:
Assume that I have the following dictionary:

scenario_summary = {'Day1': {'22459-22585': 0.0, '22585-22711': 0.0, '22711-22837': 0.0, '22837-22963': 0.0, '22963-23089': 0.0, '23089-23215': 0.0, '23215-23341': 0.0, '23341-23467': 0.0, '23467-23593': 0.0, '23593-23719': 0.0, '23719-23845': 0.0, '23845-23971': 0.0, '23971-24097': 0.0, '24097-24223': 0.0, '24223-24349': 0.0, '24349-24475': 0.0, '24475-24601': 0.0, '24601-24727': 0.0, '24727-24853': 0.0, '24853-24979': 0.0, '24979-25105': 0.0, '25105-25231': 0.0, '25231-25357': 0.0, '25357-25483': 0.0, '25483-25609': 0.0, '25609-25735': 0.0, '25735-25861': 0.0, '25861-25987': 0.0, '25987-26113': 1.0, '26113-26239': 1.0, '26239-26365': 0.0, '26365-26491': 2.0, '26491-26617': 5.0, '26617-26743': 5.0, '26743-26869': 5.0, '26869-26995': 12.0, '26995-27121': 19.0, '27121-27247': 7.000000000000001, '27247-27373': 11.0, '27373-27499': 15.0, '27499-27625': 7.000000000000001, '27625-27751': 4.0, '27751-27877': 4.0, '27877-28003': 2.0, '28003-28129': 0.0, '28129-28255': 0.0, '28255-28381': 0.0, '28381-28507': 0.0, '28507-28633': 0.0, '28633-28759': 0.0, '28759-28885': 0.0, '28885-29011': 0.0, '29011-29137': 0.0, '29137-29263': 0.0, '29263-29389': 0.0, '29389-29515': 0.0, '29515-29641': 0.0, '29641-29767': 0.0, '29767-29893': 0.0, '29893-30019': 0.0, '30019-30145': 0.0, '30145-30271': 0.0, '30271-30397': 0.0, '30397-30523': 0.0, '30523-30649': 0.0, '30649-30775': 0.0, '30775-30901': 0.0, '30901-31027': 0.0, '31027-31153': 0.0, '31153-31279': 0.0, '31279-31405': 0.0, '31405-31531': 0.0, '31531-31657': 0.0, '31657-31783': 0.0, '31783-31909': 0.0, '31909-32035': 0.0, '32035-32161': 0.0, '32161-32287': 0.0, '32287-32413': 0.0, '32413-32539': 0.0, '32539-32665': 0.0, '32665-32791': 0.0, '32791-32917': 0.0, '32917-33043': 0.0, '33043-33169': 0.0, '33169-33295': 0.0, '33295-33421': 0.0, '33421-33547': 0.0, '33547-33673': 0.0, '33673-33799': 0.0, '33799-33925': 0.0, '33925-34051': 0.0, '34051-34177': 0.0, '34177-34303': 0.0, '34303-34429': 0.0, '34429-34555': 0.0, '34555-34681': 0.0, '34681-34807': 0.0}}

As you can see, the dictionary consists of a range of values in string and their frequency. I would like to plot this as a histogram, but I don't know how I would be able to transform the string into a form that pandas or plotly would understand. What would your approach be? Or is there an easier way to do it, instead of hardcoding things? Or, would another module be easier option in doing so?

Thanks!

Body:
Since the bins (ranges) are already defined and their counts are already aggregated at an initial level, maybe it can help if you build something that overlays a histogram (distribution) on the top of the existing bin ranges:

import matplotlib
%matplotlib inline
def plot_hist(bins,input_dict):
    df1 = pd.DataFrame(input_dict).reset_index()
    df1['min'] = df1['index'].apply(lambda x:x.split('-')[0]).astype(int)
    df1['max'] = df1['index'].apply(lambda x:x.split('-')[1]).astype(int)
    df1['group'] = pd.cut(df1['max'],bins,labels=False)
    df2 = df1.groupby('group' [['Day1','min','max']].agg({'min':'min','max':'max','Day1':'sum'}).reset_index()
    df2['range_new'] = df2['min'].astype(str) + str('-') + df2['max'].astype(str)
    df2.plot(x='range_new',y='Day1',kind='bar')

...and call the function by choosing bins lesser than the length of the dictionary - or the first level of 98 bins that are already there, like, say if you want a distribution of 20 groups aggregate:

plot_hist(20,scenario_summary)

Result Image :

hope it helps...


问:
Use CASE THEN in SQL
I have three tables which I want to query in MySQL as follows:

Table Notes

```<code>id  | note
-------------------
1   | note 1
2   | note 2
</code>```

Table Indices

```<code>id  | name
-----------
1   | height
2   | weight
3   | other
</code>```

Table Detail

```<code>  note_id    |  indices_id |  value
-------------------------------------
    1        |     1       |   50
    1        |     2       |   60
    1        |     3       |   20
    2        |     1       |   40
    2        |     2       |   10
    2        |     3       |   50
</code>```

I need to query the result as follows:

```<code>  indices.name    |  note_id = 1 |  note_id = 2
------------------------------------------------
    height        |     50       |   40
    weight        |     60       |   10
    other         |     20       |   50
</code>```

I tried this query:

```<code>SELECT i.name,
(CASE WHEN d.note_id = 1 THEN d.value END) as Col2,
(CASE WHEN d.note_id = 2 THEN d.value END) as Col3
FROM notes n,indices i,detail d
WHERE n.id = d.note_id AND i.id = d.indices_id
GROUP BY i.name
</code>```

But Column Col3 result is null

Any help much appreciated! Thanks very much!

答:
This is a variation of Nick's answer.  The JOIN to nodes is superfluous:

```<code>SELECT i.name,
       MAX(CASE WHEN d.note_id = 1 THEN d.value END) as Col2,
       MAX(CASE WHEN d.note_id = 2 THEN d.value END) as Col3
FROM detail d JOIN
     indices i
     ON i.id = d.indices_id
GROUP BY i.name
</code>```

Title: Use CASE THEN in SQL

Body:
I have three tables which I want to query in MySQL as follows:

Table Notes

id  | note
-------------------
1   | note 1
2   | note 2

Table Indices

id  | name
-----------
1   | height
2   | weight
3   | other

Table Detail

  note_id    |  indices_id |  value
-------------------------------------
    1        |     1       |   50
    1        |     2       |   60
    1        |     3       |   20
    2        |     1       |   40
    2        |     2       |   10
    2        |     3       |   50

I need to query the result as follows:

  indices.name    |  note_id = 1 |  note_id = 2
------------------------------------------------
    height        |     50       |   40
    weight        |     60       |   10
    other         |     20       |   50

I tried this query:

SELECT i.name,
(CASE WHEN d.note_id = 1 THEN d.value END) as Col2,
(CASE WHEN d.note_id = 2 THEN d.value END) as Col3
FROM notes n,indices i,detail d
WHERE n.id = d.note_id AND i.id = d.indices_id
GROUP BY i.name

But Column Col3 result is null

Any help much appreciated! Thanks very much!

Body:
This is a variation of Nick's answer.  The JOIN to nodes is superfluous:

SELECT i.name,
       MAX(CASE WHEN d.note_id = 1 THEN d.value END) as Col2,
       MAX(CASE WHEN d.note_id = 2 THEN d.value END) as Col3
FROM detail d JOIN
     indices i
     ON i.id = d.indices_id
GROUP BY i.name


问:
Loop over json objects in Ansible
I have been stuck to get a particular json object if the value of a key matches a variable (string).

My json file looks like this:

```<code>    "totalRecordsWithoutPaging": 1234,
    "jobs": [
        {
            "jobSummary": {

                "totalNumOfFiles": 0,
                "jobId": 8035,
                "destClientName": "BOSDEKARLSSP010",
                "destinationClient": {
                    "clientId": 10,
                    "clientName": "BOSDEKARLSSP010"
                }
            }
        },
        {
            "jobSummary": {
                "totalNumOfFiles": 0,
                "jobId": 9629,
                "destClientName": "BOSDEKARLSSP006",
                "destinationClient": {
                    "clientId": 11,
                    "clientName": "BOSDEKARLSSP006"
                }
            }
        },
                .....
    ]
}
</code>```

I read this json with result: "{{ lookup('file','CVExport-short.json') | from_json }}" and I can get only one value of destClientName key with the following code:

```<code>- name: Iterate JSON
  set_fact:
    app_item: "{{ item.jobSummary }}"
  with_items: "{{ result.jobs }}"
  register: app_result

- debug:
    var: app_result.results[0].ansible_facts.app_item.destClientName
</code>```

My goal is to get the value of jobIdif the value of destClientName matches some other variable or string in any jobSummary.
I don't still have much knowledge in Ansible. So, any help would be much appreciated.

Update

Ok, I have found one solution.

```<code>- name: get job ID
  set_fact:
    job_id: "{{ item.jobSummary.jobId }}"
  with_items: "{{ result.jobs}}"
  when: item.jobSummary.destClientName == '{{ target_vm }}'

- debug:
    msg: "{{job_id}}"
</code>```

But I think there might be a better solution than this. Any idea how?

答:
Ansible's json_query filter let's you perform complex filtering of JSON documents by applying JMESPath expressions.  Rather than looping over the jobs in the the result, you can get the information you want in a single step.

We want to query all jobs in which have a destClientName that matches the value in target_vm.  Using literal values, the expression yielding that list of jobs would look like this:

```<code>jobs[?jobSummary.destClientName == `BOSDEKARLSSP006`]
</code>```

The result of this, when applied to your sample data, would be:

```<code>[
  {
    "jobSummary": {
      "totalNumOfFiles": 0,
      "jobId": 9629,
      "destClientName": "BOSDEKARLSSP006",
      "destinationClient": {
        "clientId": 11,
        "clientName": "BOSDEKARLSSP006"
      }
    }
  }
]
</code>```

From this result, you want to extract the jobId, so we rewrite the expression like this:

```<code>jobs[?jobSummary.destClientName == `BOSDEKARLSSP006`]|[0].jobSummary.jobId
</code>```

Which gives us:

```<code>9629
</code>```

To make this work in a playbook, you'll want to replace the literal hostname in this expression with the value of your target_vm variable.   Here's a complete playbook that demonstrates the solution:

```<code>---
- hosts: localhost
  gather_facts: false

  # This is just the sample data from your question.
  vars:
    target_vm: BOSDEKARLSSP006
    results:
      totalRecordsWithoutPaging: 1234
      jobs:
      - jobSummary:
          totalNumOfFiles: 0
          jobId: 8035
          destClientName: BOSDEKARLSSP010
          destinationClient:
            clientId: 10
            clientName: BOSDEKARLSSP010
      - jobSummary:
          totalNumOfFiles: 0
          jobId: 9629
          destClientName: BOSDEKARLSSP006
          destinationClient:
            clientId: 11
            clientName: BOSDEKARLSSP006

  tasks:
    - name: get job ID
      set_fact:
        job_id: "{{ results|json_query('jobs[?jobSummary.destClientName == `{}`]|[0].jobSummary.jobId'.format(target_vm)) }}"

    - debug:
        var: job_id
</code>```

Update re: your comment

The {} in the expression is a Python string formatting sequence that
is filled in by the call to .format(target_vm).  In Python, the
expression:

```<code>'The quick brown {} jumped over the lazy {}.'.format('fox', 'dog')
</code>```

Would evaluate to:

```<code>The quick brown fox jumped over the lazy dog.
</code>```

And that's exactly what we're doing in that set_fact expression.  I
could instead have written:

```<code>job_id: "{{ results|json_query('jobs[?jobSummary.destClientName == `' ~ target_vm ~ '`]|[0].jobSummary.jobId') }}"
</code>```

(Where ~ is the Jinja stringifying concatenation operator)

Title: Loop over json objects in Ansible

Body:
I have been stuck to get a particular json object if the value of a key matches a variable (string).

My json file looks like this:

    "totalRecordsWithoutPaging": 1234,
    "jobs": [
        {
            "jobSummary": {

                "totalNumOfFiles": 0,
                "jobId": 8035,
                "destClientName": "BOSDEKARLSSP010",
                "destinationClient": {
                    "clientId": 10,
                    "clientName": "BOSDEKARLSSP010"
                }
            }
        },
        {
            "jobSummary": {
                "totalNumOfFiles": 0,
                "jobId": 9629,
                "destClientName": "BOSDEKARLSSP006",
                "destinationClient": {
                    "clientId": 11,
                    "clientName": "BOSDEKARLSSP006"
                }
            }
        },
                .....
    ]
}

I read this json with result: "{{ lookup('file','CVExport-short.json') | from_json }}" and I can get only one value of destClientName key with the following code:

- name: Iterate JSON
  set_fact:
    app_item: "{{ item.jobSummary }}"
  with_items: "{{ result.jobs }}"
  register: app_result

- debug:
    var: app_result.results[0].ansible_facts.app_item.destClientName

My goal is to get the value of jobIdif the value of destClientName matches some other variable or string in any jobSummary.
I don't still have much knowledge in Ansible. So, any help would be much appreciated.

Update

Ok, I have found one solution.

- name: get job ID
  set_fact:
    job_id: "{{ item.jobSummary.jobId }}"
  with_items: "{{ result.jobs}}"
  when: item.jobSummary.destClientName == '{{ target_vm }}'

- debug:
    msg: "{{job_id}}"

But I think there might be a better solution than this. Any idea how?

Body:
Ansible's json_query filter let's you perform complex filtering of JSON documents by applying JMESPath expressions.  Rather than looping over the jobs in the the result, you can get the information you want in a single step.

We want to query all jobs in which have a destClientName that matches the value in target_vm.  Using literal values, the expression yielding that list of jobs would look like this:

jobs[?jobSummary.destClientName == `BOSDEKARLSSP006`]

The result of this, when applied to your sample data, would be:

[
  {
    "jobSummary": {
      "totalNumOfFiles": 0,
      "jobId": 9629,
      "destClientName": "BOSDEKARLSSP006",
      "destinationClient": {
        "clientId": 11,
        "clientName": "BOSDEKARLSSP006"
      }
    }
  }
]

From this result, you want to extract the jobId, so we rewrite the expression like this:

jobs[?jobSummary.destClientName == `BOSDEKARLSSP006`]|[0].jobSummary.jobId

Which gives us:

9629

To make this work in a playbook, you'll want to replace the literal hostname in this expression with the value of your target_vm variable.   Here's a complete playbook that demonstrates the solution:

---
- hosts: localhost
  gather_facts: false

  # This is just the sample data from your question.
  vars:
    target_vm: BOSDEKARLSSP006
    results:
      totalRecordsWithoutPaging: 1234
      jobs:
      - jobSummary:
          totalNumOfFiles: 0
          jobId: 8035
          destClientName: BOSDEKARLSSP010
          destinationClient:
            clientId: 10
            clientName: BOSDEKARLSSP010
      - jobSummary:
          totalNumOfFiles: 0
          jobId: 9629
          destClientName: BOSDEKARLSSP006
          destinationClient:
            clientId: 11
            clientName: BOSDEKARLSSP006

  tasks:
    - name: get job ID
      set_fact:
        job_id: "{{ results|json_query('jobs[?jobSummary.destClientName == `{}`]|[0].jobSummary.jobId'.format(target_vm)) }}"

    - debug:
        var: job_id

Update re: your comment

The {} in the expression is a Python string formatting sequence that
is filled in by the call to .format(target_vm).  In Python, the
expression:

'The quick brown {} jumped over the lazy {}.'.format('fox', 'dog')

Would evaluate to:

The quick brown fox jumped over the lazy dog.

And that's exactly what we're doing in that set_fact expression.  I
could instead have written:

job_id: "{{ results|json_query('jobs[?jobSummary.destClientName == `' ~ target_vm ~ '`]|[0].jobSummary.jobId') }}"

(Where ~ is the Jinja stringifying concatenation operator)


问:
Can I train YOLO on small already segmented out images and test it on a large image for detection?
I have been thinking about building a YOLO model for detecting parking lot occupancy, I have all the small segmented out images for every parking space. Can I train YOLO on these small images already divided into separate empty and occupied classes and test it on a test image like the ariel view of a parking lot with say 28 parking spots and the model should detect the occupied and empty spaces.
If yes then can someone guide me how to approach the problem? I will be using YOLO implemented on Keras.</p>

答:
YOLO is a n object detection model. During training, it takes coordinates of bounding boxes in an image as input and learns to identify the images inside such bounding boxes. As per your problem statement, if you have a aerial view of parking lot then draw the bounding boxes, generate xml files (as per your training requirement) and start training. This ideally should give you the desired model to predict.

Free tool to label images - https://github.com/tzutalin/labelImg

Github project to get an idea of how to train Yolo in Keras on custom dataset - https://github.com/experiencor/keras-yolo2

By any means, this is not a perfect tailor made solution for your problem given you haven't provided any code or images. But this is a good place to start.


问:
Casting string to uint16
I'm new at go and I've been trying to cast the string "0x0000" into a hexadecimal with no luck so far. Here's what I tried:

```<code>import "strconv"

c, err := strconv.ParseUint("0x0000", 16, 32)
if err != nil {
    return err, nil
}
</code>```

which throws the error: strconv.ParseUint: parsing "0x0000": invalid syntax.

I've also tried uint16("0x0000") but apparently I also can't convert a string directly to uint16. I'm sure it's very trivial, so any help would be appreciated. Thanks.

答:
First, what you're doing is a conversion, not a type cast. Go doesn't support type casting at all, and even if it did, this is not an example of typecasting in any language.

But for your actual question, you have two options:

Remove the "0x" prefix:

```<code>c, err := strconv.ParseUint("0000", 16, 32)
</code>```

Let strconv detect the base with the prefix, as documented:

If base == 0, the base is implied by the string's prefix: base 16 for "0x", base 8 for "0", and base 10 otherwise. For bases 1, below 0 or above 36 an error is returned.

```<code>c, err := strconv.ParseUint("0x0000", 0, 32)
</code>```

And finally, if your goal is to convert to a uint16, you should probably tell ParseUint as much, by requesting the appropriate bitsize:

```<code>c, err := strconv.ParseUint("0x0000", 0, 16)
</code>```

Title: Casting string to uint16

Body:
I'm new at go and I've been trying to cast the string "0x0000" into a hexadecimal with no luck so far. Here's what I tried:

import "strconv"

c, err := strconv.ParseUint("0x0000", 16, 32)
if err != nil {
    return err, nil
}

which throws the error: strconv.ParseUint: parsing "0x0000": invalid syntax.

I've also tried uint16("0x0000") but apparently I also can't convert a string directly to uint16. I'm sure it's very trivial, so any help would be appreciated. Thanks.

Body:
First, what you're doing is a conversion, not a type cast. Go doesn't support type casting at all, and even if it did, this is not an example of typecasting in any language.

But for your actual question, you have two options:

Remove the "0x" prefix:

c, err := strconv.ParseUint("0000", 16, 32)

Let strconv detect the base with the prefix, as documented:

If base == 0, the base is implied by the string's prefix: base 16 for "0x", base 8 for "0", and base 10 otherwise. For bases 1, below 0 or above 36 an error is returned.

c, err := strconv.ParseUint("0x0000", 0, 32)

And finally, if your goal is to convert to a uint16, you should probably tell ParseUint as much, by requesting the appropriate bitsize:

c, err := strconv.ParseUint("0x0000", 0, 16)


问:
Zip4j allowing user to update encrypted zip by 7zip
I have used zip4j to zip certain files. It is able to properly zip and while extracting it asks for password also. So far so go. Now problems I am facing

After encrypting with password you can see the file name if you open by 7zip [is there any way to hise this?]

You can add new files to the zip, simply open it by 7zip and drag a new file it will be add, and allows to extract also particularly that file without password. [ need to disable this?]

My requirement is to lock some files and user should not able to manipulate with the zip . (point 1 is ignore able also )

I there any other was then this ?

```<code>final ZipFile zipFile = new ZipFile(outputFile);

final ArrayList filesToAdd = new ArrayList();
for (final String file : fileList) {
    filesToAdd.add(new File(file));
}
// Initiate Zip Parameters
final ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // set compression method to
                                                          // deflate compressio
// Set the compression level.
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
parameters.setEncryptFiles(true);
// Set the encryption method to Standard Zip Encryption
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
// Set password
parameters.setPassword(password);

zipFile.addFiles(filesToAdd, parameters);
</code>```

答: The feature you are looking for is called "Strong Encryption" as per Zip format specification. Section "7.0 Strong Encryption Specification" in the link covers this encryption standard. This technique also encrypts the zip header information, therefore making the zip file impossible to modify without the password. However, this feature is proprietary and patent protected. AFAIK, libraries/applications need permission to implement/support this feature. Zip4j does not support this feature at the moment.</p>

Body:
I have used zip4j to zip certain files. It is able to properly zip and while extracting it asks for password also. So far so go. Now problems I am facing

After encrypting with password you can see the file name if you open by 7zip [is there any way to hise this?]

You can add new files to the zip, simply open it by 7zip and drag a new file it will be add, and allows to extract also particularly that file without password. [ need to disable this?]

My requirement is to lock some files and user should not able to manipulate with the zip . (point 1 is ignore able also )

I there any other was then this ?

final ZipFile zipFile = new ZipFile(outputFile);

final ArrayList filesToAdd = new ArrayList();
for (final String file : fileList) {
    filesToAdd.add(new File(file));
}
// Initiate Zip Parameters
final ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // set compression method to
                                                          // deflate compressio
// Set the compression level.
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
parameters.setEncryptFiles(true);
// Set the encryption method to Standard Zip Encryption
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
// Set password
parameters.setPassword(password);

zipFile.addFiles(filesToAdd, parameters);


问:
Ajax doesn't update attribute in database
Ajax does not update the viewed attribute after a lesson has been fully watched.

application.js:

```<code>$('#video').onended(function() {
  $.ajax({
    url: '/courses/:id/lessons/:id/viewed',
    type: 'patch'
 });
});
</code>```

lessons controller;

```<code>def viewed
  @lesson = Lesson.find(params[:id])
  @lesson.update_attribute(:viewed, true)
end
</code>```

lessons/show.html.erb:

```<code><h2><%= @lesson.name %></h2>
<div id="video">
<video controls="true" width="auto" height="auto">
  <source src="<%= url_for(@lesson.file) %>" type='video/mp4'>
</video>
</div>
</code>```

config/routes.rb:

```<code>patch 'courses/:id/lessons/:id/viewed' => 'lessons#viewed'
</code>```

add_view_to_lessons migration:

```<code>def change
  add_column :lessons, :viewed, :boolean
end
</code>```

答:
convert

```<code>patch 'courses/:id/lessons/:id/viewed' => 'lessons#viewed'
</code>```

to

```<code>patch 'courses/:course_id/lessons/:id/viewed' => 'lessons#viewed'
</code>```

and

```<code>$('#video').onended(function() {
  $.ajax({
    url: '/courses/:id/lessons/:id/viewed',
    type: 'patch'
 });
});
</code>```

to

```<code>const data = { course_id: "", lesson_id: "" }

$('#video').onended(function() {

  $.ajax({
    url: '/courses/:course_id/lessons/:id/viewed',
    type: 'patch',
    data: data
 });
});
</code>```

and

```<code>def viewed
  @lesson = Lesson.find(params[:id])
  @lesson.update_attribute(:viewed, true)
end
</code>```

to

```<code>def viewed
  @lesson = Lesson.find(params[:data][:lesson_id])
  @lesson.update_attribute(:viewed, true)
end
</code>```

Body:
Ajax does not update the viewed attribute after a lesson has been fully watched.

application.js:

$('#video').onended(function() {
  $.ajax({
    url: '/courses/:id/lessons/:id/viewed',
    type: 'patch'
 });
});

lessons controller;

def viewed
  @lesson = Lesson.find(params[:id])
  @lesson.update_attribute(:viewed, true)
end

lessons/show.html.erb:

<%= @lesson.name %>

<video controls="true" width="auto" height="auto">
  <source src="<%= url_for(@lesson.file) %>" type='video/mp4'>
</video>

config/routes.rb:

patch 'courses/:id/lessons/:id/viewed' => 'lessons#viewed'

add_view_to_lessons migration:

def change
  add_column :lessons, :viewed, :boolean
end

Body:
convert

patch 'courses/:id/lessons/:id/viewed' => 'lessons#viewed'

to

patch 'courses/:course_id/lessons/:id/viewed' => 'lessons#viewed'

and

$('#video').onended(function() {
  $.ajax({
    url: '/courses/:id/lessons/:id/viewed',
    type: 'patch'
 });
});

to

const data = { course_id: "", lesson_id: "" }

$('#video').onended(function() {

  $.ajax({
    url: '/courses/:course_id/lessons/:id/viewed',
    type: 'patch',
    data: data
 });
});

and

def viewed
  @lesson = Lesson.find(params[:id])
  @lesson.update_attribute(:viewed, true)
end

to

def viewed
  @lesson = Lesson.find(params[:data][:lesson_id])
  @lesson.update_attribute(:viewed, true)
end


问:
Best practices to parse and manipulate XML files, that are minimum of 1000 MBs or more in size

Possible Duplicates:

  PHP what is the best approach to using XML? Need to create and parse XML responses

  Parse big XML in PHP

Hello Community,

I am writing an application, that requires to parse XML files, that can minimum of 1000 MBs or more in size.

I have tried with few code that is available on internet. As file size is more, it's easy to understand that file will have lots and lots of XML tags. So, loop performance gets weak as time elapse.

So, I would need a parser:
-> Performance is considerably good as time passes, when doing execution / parsing
-> Doesn't load the whole XML file in memory

I know about following XML parsers, but not sure which to use and why?

XML Parser

SimpleXML

XMLReader

I am using PHP 5.3, so please help me guys and gals, to choose the parser.

You can even suggest me some other options, or classes.

Thanks.

EDIT

I even want to know about SAX (Simple API for XML) and StAX implementation of PHP

答:
First of all, you can't load that much XML in memory. It depends on your machine, but if your XML file is more than 10-20 MB it generally is too much. The server may be able to handle more, but it's not a good idea to fill all the memory with one script. So you can rule out SimpleXML and DOM from the start.

The other two options, XML Parser and XMLReader, will both be good, with XMLReader being a newer extension, so probably better. But as a warning you should take notice that XMLReader also allows you to load everything in memory. Don't do that. Instead use it as a node-by-node parser and read/process your data in small bits.

You problem may go beyond the scope of choosing a parser if you need most of the data from the XML. You should also make sure that you don't load it all up in memory and use it at the end of the script. Instead use it as you get it and dispose of it once you no longer need it.

ContentLicense: CC BY-SA 3.0


问:
TypeScript cannot infer constrained type in generic method?
I'm quite a newbie to TypeScript with a strong C# background.

I wonder what's the exact reasons that the type inference doesn't seem to work in the following situation in TypeScript but does in C#:

TypeScript:

```<code>interface IResult { }

interface IRequest<TResult extends IResult> { }

interface ISomeResult extends IResult {
    prop: string;
}

interface ISomeRequest extends IRequest<ISomeResult> { }

 function Process<TResult extends IResult>(request: IRequest<TResult>): TResult {
    throw "Not implemented";
}

let request: ISomeRequest = {};
let result = Process(request);
// Error: Property 'prop' does not exist on type '{}'.
console.log(result.prop);
</code>```

C#

```<code>interface IResult { }

interface IRequest<TResult> where TResult : IResult { }

interface ISomeResult : IResult
{
    string Prop { get; set; }
}

interface ISomeRequest : IRequest<ISomeResult> { }

static TResult Process<TResult>(IRequest<TResult> request) where TResult : IResult
{
    throw new NotImplementedException();
}

static void Main()
{
    ISomeRequest request = default;
    var result = Process(request);
    // OK
    Console.WriteLine(result.Prop);
}
</code>```

Is this an issue of the TS compiler's type inference algorithm (maybe it's not there yet?) or is there some fundamental reason which I am missing and makes this impossible in TS?

答:
Typescript has a structural type system (this might seem a bit weird when coming from C#, I know I had the same issue ). This means that is you have an unused type parameter, it will be ignored by the compiler as it does no really matter for type compatibility. Add any member that uses TResult to IRequest and it works as you expect it to:

```<code>interface IResult { }

interface IRequest<TResult extends IResult> {
    _r?: undefined | TResult
}

interface ISomeResult extends IResult {
    prop: string;
}

interface ISomeRequest extends IRequest<ISomeResult> { }

function Process<TResult extends IResult>(request: IRequest<TResult>): TResult {
    throw "Not implemented";
}

let request: ISomeRequest = { };
let result = Process(request);
console.log(result.prop);
</code>```

FAQ explaining some o this.

Body:
I'm quite a newbie to TypeScript with a strong C# background.

I wonder what's the exact reasons that the type inference doesn't seem to work in the following situation in TypeScript but does in C#:

TypeScript:

interface IResult { }

interface IRequest<TResult extends IResult> { }

interface ISomeResult extends IResult {
    prop: string;
}

interface ISomeRequest extends IRequest<ISomeResult> { }

 function Process<TResult extends IResult>(request: IRequest<TResult>): TResult {
    throw "Not implemented";
}

let request: ISomeRequest = {};
let result = Process(request);
// Error: Property 'prop' does not exist on type '{}'.
console.log(result.prop);

C#

interface IResult { }

interface IRequest<TResult> where TResult : IResult { }

interface ISomeResult : IResult
{
    string Prop { get; set; }
}

interface ISomeRequest : IRequest<ISomeResult> { }

static TResult Process<TResult>(IRequest<TResult> request) where TResult : IResult
{
    throw new NotImplementedException();
}

static void Main()
{
    ISomeRequest request = default;
    var result = Process(request);
    // OK
    Console.WriteLine(result.Prop);
}

Is this an issue of the TS compiler's type inference algorithm (maybe it's not there yet?) or is there some fundamental reason which I am missing and makes this impossible in TS?

Body:
Typescript has a structural type system (this might seem a bit weird when coming from C#, I know I had the same issue ). This means that is you have an unused type parameter, it will be ignored by the compiler as it does no really matter for type compatibility. Add any member that uses TResult to IRequest and it works as you expect it to:

interface IResult { }

interface IRequest<TResult extends IResult> {
    _r?: undefined | TResult
}

interface ISomeResult extends IResult {
    prop: string;
}

interface ISomeRequest extends IRequest<ISomeResult> { }

function Process<TResult extends IResult>(request: IRequest<TResult>): TResult {
    throw "Not implemented";
}

let request: ISomeRequest = { };
let result = Process(request);
console.log(result.prop);

FAQ explaining some o this.


问:
Efficiently matching Words against a sorted Vocabulary in Python
On one hand, I have an alphabetically sorted noun vocabulary (#7000)

```<code>aardvark
abacus
abbey
abbreviation
abdomen
ability
abnormal
</code>```

On the other hand I have a set of words (#1E6)

```<code>['Hello', 'airport', 'really', 'sorry', 'to', 'hear', 'this'...]
</code>```

What is the most efficient way to find out if a word is present in the vocabulary, and the index?

I could simply use lists/arrays and compare strings, but this does not take advantage of the alphabetic sorting of the vocabulary

答:
If the dictionary has unique entries (as I would expect), you can use a dict. x in dict returns true if x is a key in the given dict and (given no hash collisions) takes static time so that is the best we could ever get. It's worth mentioning that the worst case is O(n) but it is usually close to the best case. See this question for details.

To get the dict with the indices as values, use this line:

```<code>newdict = dict((k, v) for k, v in enumerate(sortedlist))
</code>```

[Edit:] Note that this does not rely on a sorted list or any list at all. It will work for any iterable including open files with one word per line or the string.split() ...

If you want to keep your current data structure, you can use subtyping or docoration to keep a dict under the hood that is updated along and is used for this kind of lookup.

Body:
On one hand, I have an alphabetically sorted noun vocabulary (#7000)

aardvark
abacus
abbey
abbreviation
abdomen
ability
abnormal

On the other hand I have a set of words (#1E6)

['Hello', 'airport', 'really', 'sorry', 'to', 'hear', 'this'...]

What is the most efficient way to find out if a word is present in the vocabulary, and the index?

I could simply use lists/arrays and compare strings, but this does not take advantage of the alphabetic sorting of the vocabulary

Body:
If the dictionary has unique entries (as I would expect), you can use a dict. x in dict returns true if x is a key in the given dict and (given no hash collisions) takes static time so that is the best we could ever get. It's worth mentioning that the worst case is O(n) but it is usually close to the best case. See this question for details.

To get the dict with the indices as values, use this line:

newdict = dict((k, v) for k, v in enumerate(sortedlist))

[Edit:] Note that this does not rely on a sorted list or any list at all. It will work for any iterable including open files with one word per line or the string.split() ...

If you want to keep your current data structure, you can use subtyping or docoration to keep a dict under the hood that is updated along and is used for this kind of lookup.