Bonjour,


J'ai des objets formation, salle et professeur.
Une formation a 0 ou plusieurs salles.
Une formation a 0 ou plusieurs professeurs.

Table formation (id,nom,lieu)
Table formation_salle(id, id_formation, id_salle, actif)
Table formation_professeur(id, id_formation, id_professeur, actif)


Je veux récupérer la liste des formations qui appartiennent à un lieu donné
avec le nombre de salles rattachées actifs ainsi que le nombre de professeurs rattachés actifs.

J'ai du mal à faire ceci en 1 seule requête. J'ai tenté ceci mais je ne sais pas où mettre les conditions sur le champ actif (qui doit etre égale à 1) des 2 tables d'association.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT formation.id, formation.lieu , COUNT ( f_s.id_formation),  COUNT ( f_p.id_formation)
FROM formation
LEFT JOIN formation_salle f_s
LEFT JOIN formation_professeur f_p
WHERE formation.lieu ='X'
GROUP BY formation.id

Merci beaucoup.