diff --git a/data/ddl.php b/data/ddl.php index 7fdefb2cbdc9ea2153b09af2d5bd7187d35fa222..faf35a157ff4fb0f0272d465ff11e505fd2a01f1 100644 --- a/data/ddl.php +++ b/data/ddl.php @@ -30636,62 +30636,9 @@ END UNICAEN_TBL;', USING ( SELECT - tv.* + * FROM - (SELECT - annee_id, - type_piece_jointe_id, - intervenant_id, - demandee, - fournie, - validee, - heures_pour_seuil, - obligatoire, - date_archive - FROM ( - SELECT - COALESCE( pjd.annee_id, pjf.annee_id ) annee_id, - COALESCE( pjd.type_piece_jointe_id, pjf.type_piece_jointe_id ) type_piece_jointe_id, - COALESCE( pjd.intervenant_id, pjf.intervenant_id ) intervenant_id, - CASE WHEN pjd.intervenant_id IS NULL THEN 0 ELSE 1 END demandee, - CASE WHEN pjf.fichier = pjf.count THEN 1 ELSE 0 END fournie, - CASE WHEN pjf.validation = pjf.count THEN 1 ELSE 0 END validee, - COALESCE(pjd.heures_pour_seuil,0) heures_pour_seuil, - COALESCE(pjd.obligatoire,1) obligatoire, - pjf.date_archive date_archive, - rank() over (partition by pjd.annee_id, pjd.code_intervenant, pjd.type_piece_jointe_id order by pjf.annee_id DESC) rank1 - FROM - tbl_piece_jointe_demande pjd - FULL JOIN ( - SELECT - pjf.annee_id, - pjf.type_piece_jointe_id, - pjf.intervenant_id, - pjf.code_intervenant, - pjf.date_validite, - pjf.duree_vie, - pjf.date_archive, - COUNT(*) count, - SUM(CASE WHEN validation_id IS NULL THEN 0 ELSE 1 END) validation, - SUM(CASE WHEN fichier_id IS NULL THEN 0 ELSE 1 END) fichier - FROM - tbl_piece_jointe_fournie pjf - GROUP BY - pjf.annee_id, - pjf.intervenant_id, - pjf.code_intervenant, - pjf.type_piece_jointe_id, - pjf.date_validite, - pjf.duree_vie, - pjf.date_archive - ) pjf - ON pjf.type_piece_jointe_id = pjd.type_piece_jointe_id - AND pjd.code_intervenant = pjf.code_intervenant - AND pjd.annee_id BETWEEN pjf.annee_id AND (pjf.annee_id + pjf.duree_vie - 1) - AND pjd.annee_id BETWEEN pjf.annee_id AND NVL(pjf.date_archive - 1,(pjf.annee_id + pjf.duree_vie - 1)) - ) t - WHERE - t.rank1 = 1) tv + v_tbl_piece_jointe WHERE \' || conds || \'