Bonjour à tous,
Cela fait maintenant plusieurs jours que je cherche une solution à mon problème mais en vain. J'en appelle donc à votre aide ...
Alors voilà, j'ai une base de donnée avec 3 tables (membre, stage et stagiaire).
Voici les champs de chacun:
membre(id, nom)
stage(id, id_membre, date, formation)
stagiaire(id, id_stage, nom).
Il s'agit d'un système de formation avec une certain nombre d'organisme (membre) qui propose des formations en ligne (stages) sur lesquels des candidats (stagiaires) peuvent s'y inscrire.
J’essaie de récupérer la somme des stagiaires et des stages sur une plage de date données pour tous les membres. Mais la difficulté ici est que j'aimerais également récupérer les données de membre qui n'ont pas de stages en ligne ainsi que les stages sur lesquels il n'y a aucun candidat d'inscrit. Toutes ces données seront affichées par membre. Je me suis donc tournée sur une jointure externe du type:
Le soucis est que cette requête tourne indéfiniment sans donner aucun résultat ...
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 SELECT SUM(stagiaire.id != 0) AS nb, SUM(stage.id != 0) AS stage_ligne, membre.nom FROM membre LEFT JOIN stage ON stage.id_membre = membre.id LEFT JOIN stagiaire ON stagiaire.id_stage = stage.id WHERE stage.date1 BETWEEN '$DateDebut' AND '$DateFin' GROUP BY membre.id
Auriez vous une idée de comment je peux faire pour y arriver ?
Merci pour votre aide précieuse !
Partager