Commit 6eb47a6b authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Script SQL manquant

parent f9a8eaf8
Loading
Loading
Loading
Loading
+45 −0
Changes for doc/release-notes/v13/13.2.0/02_admission.sql: 45 added lines, 0 removed lines.
Original line number Diff line number Diff line

alter table admission_inscription add annee_univ smallint;

/**

  Alimentation de la nouvelle colonne admission_inscription.annee_univ sur les admissions existantes :

  1/ Générer les requêtes SQL d'update :

with tmp as (
    select a.id admission_id, a.individu_id, ai.id inscription_id,
           to_char(a.histo_creation, 'YYYY/MM/DD') a_histo_creation, annee_univ_compute_from_date(a.histo_creation),
           to_char(avis.histo_creation, 'YYYY/MM/DD') avis_histo_creation, annee_univ_compute_from_date(avis.histo_creation),
           t.id these_id,
           t.histo_creation
    from admission_avis avis
             join unicaen_avis ua on avis.avis_id = ua.id
             join unicaen_avis_type uat on ua.avis_type_id = uat.id and uat.code = 'AVIS_ADMISSION_PRESIDENCE'
             join admission_admission a on avis.admission_id = a.id and a.histo_destruction is null
             join admission_inscription ai on ai.admission_id = a.id and ai.histo_destruction is null
             join individu i on a.individu_id = i.id
             left join doctorant d on d.individu_id = i.id
             left join these t on d.id = t.doctorant_id
    order by avis.histo_creation desc
), dates as (
    select admission_id, inscription_id, avis_histo_creation
    from tmp
)
select string_agg(admission_id::varchar, ',') admissions_ids,
       string_agg(inscription_id::varchar, ',') inscriptions_ids,
       avis_histo_creation,
       '' as annee_univ,
       'update admission_inscription set annee_univ = 0000 where admission_id in ('||string_agg(admission_id::varchar, ',')||');' as sql
from dates
group by avis_histo_creation
order by avis_histo_creation desc
;

  2/ Dans les update générés, remplacer '0000' par l'année pertinente, exemple :

update admission_inscription set annee_univ = 2026 /*2026/07/16*/ where admission_id in (359,382);
update admission_inscription set annee_univ = 2026 /*2026/07/07*/ where admission_id in (374,404,398);
update admission_inscription set annee_univ = 2026 /*2026/07/02*/ where admission_id in (365,366,367,376,393,394,361,350);

**/