1 2 3 4 5 6 7 8 9 10 11 12
| SELECT
COALESCE(a_ouv.NB_ACTION,0) AS NB_ACTION_OUV,
COALESCE(a.NB_ACTION,0) AS NB_ACTION,
COALESCE(SUM(CASE WHEN r.statut_risque = 'Ouvert' THEN 1 ELSE 0 END ),0) AS NB_RISQUE_OUV,
COALESCE(COUNT(*),0) AS NB_RISQUE,
COALESCE(SUM(CASE WHEN (GREATEST(COALESCE(r.gravite_planning,0), COALESCE(r.gravite_cout,0), COALESCE(r.gravite_performance,0), COALESCE(r.gravite_accident,0)) * r.probabilite) <= p.acceptabilite THEN 1 ELSE 0 END ),0) AS NB_ACCEPTABLE
FROM risque r
LEFT JOIN ( SELECT COUNT(*) AS NB_ACTION, identifiant_projet AS id_r
FROM action GROUP BY identifiant_projet) AS a ON a.id_r=r.identifiant_projet
LEFT JOIN ( SELECT COUNT(*) AS NB_ACTION, identifiant_projet AS id_r
FROM action WHERE statut_action='Ouvert' GROUP BY identifiant_projet) AS a_ouv ON a_ouv.id_r=r.identifiant_projet
LEFT JOIN projet p ON r.identifiant_projet=p.identifiant_projet |
Partager