Bonjours à tous voilà étant donné mon niveau en SQL je vous demande de l'aide car là j'ai du mal...![]()
Voila tout d'abord à quoi ressemble les 2 tables concernées:
RISQUE(id_risque,libelle_risque)
DANGER(id_danger, id_categ, id_risque, libelle_danger, criticite_gravite, criticite_frequence, criticite_totale_actuelle, date_ajout_danger)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 1 Eclairage 2 Bruit 3 Température 4 Concentration poussières, vapeurs 5 Chutes de plain-pied 6 Circulation (organisation des flux) 7 Ecran de visualisation 8 Elèctricité 9 Engins et appareils de levage 10 Incendies, Explosions 11 Interventions entreprises extérieures 12 Machines et équipements 13 Manutention manuelle 14 Rayonnements ionisants 15 Rayonnements non-ionisants 16 Substances et préparations dangereuses 17 Travail isolé 18 Travaux en hauteur 19 Autres
Donc en gros ici un danger est caractérisé par entre autres par un id_risque et par un id_categ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 1 16 2 Pas de ligne de vie 3 3 4 2007-02-12 3 15 17 Parking élève trop emcombré 2 3 3 2007-03-05 4 6 14 Câbles électriques dans la salle 3 3 4 2007-02-13 5 9 12 Machine dégagant une forte chaleur pouvant bruler 2 2 3 2007-03-18 6 17 11 Nuisances sonores élevées 1 2 2 2007-03-04 7 18 8 Produits dangereux abondants 3 1 3 2007-01-15 8 16 16 nouveau danger 3 3 4 2007-03-26
Ce que je voudrais c'est que pour un id_categ donné on me ressorte la liste de TOUS les risques et qu'il y ai en face de chaque risque le maximum des criticite_totale _actuelle ou rien s'il n'y pas de dangers affecté à ce risque.
Voila là requete que j'ai pour l'instant:
Mais avec cette requete ça me ressort bien les risques avec la criticite maximum mais je voudrais avoir ausi les autres risques qui n'ont pas de criticité affectée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT id_categ,risque.id_risque,libelle_risque,MAX(criticite_totale_actuelle) AS max FROM danger LEFT JOIN risque ON danger.id_risque = risque.id_risque WHERE id_categ=6 GROUP BY risque.id_risque
J'obtiens ça:
Et moi je voudrais ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 id_categ id_risque libelle_risque max 6 5 Chutes de plain-pied 3 6 8 Elèctricité 4 6 14 Rayonnements ionisants 4 6 15 Rayonnements non-ionisants 4 6 16 Substances et préparations dangereuses 2
Si quelqu'un a quelque chose à me proposer ça serait super. Merci d'avance à tous. A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 id_categ id_risque libelle_risque max 6 1 Eclairage 0 6 2 Bruit 0 6 3 Température 0 6 4 Concentration poussières, vapeurs 0 6 5 Chutes de plain-pied 3 6 6 Circulation (organisation des flux) 0 6 7 Ecran de visualisation 0 6 8 Elèctricité 4 6 9 Engins et appareils de levage 0 6 10 Incendies, Explosions 0 6 11 Interventions entreprises extérieures 0 6 12 Machines et équipements 0 6 13 Manutention manuelle 0 6 14 Rayonnements ionisants 4 6 15 Rayonnements non-ionisants 4 6 16 Substances et préparations dangereuses 2 6 17 Travail isolé 0 6 18 Travaux en hauteur 0 6 19 Autres 0
Partager