Salut tout le monde,
je post sur le forum car j'arrive pas à réaliser ce que je souhaite.
Je vais exposer la situation :
Dans ma base, on a des cours `session`, et les `membres` reliés par la table `inscription` dans lequel un attribut vient se greffer : etat , validée si 1 , non validée si 0.
Mon objectif est en une requete, de trouver le nombre d'inscription validée et non-validée par session.
Le problème que j'ai rencontré est que lorsqu'il manque un des types d'inscrit pour une session, ça ne m'affiche pas la ligne au lieu de me l'afficher avec Val=0 ou nVal=0.
voilà ce que j'ai pour l'instant :
SELECT *,
COUNT(DISTINCT val.id_membre) AS val,
COUNT(DISTINCT nval.id_membre) AS nval
FROM `session`
LEFT JOIN `inscription`AS val ON val.id_session = session.id_session
LEFT JOIN `inscription`AS nval ON nval.id_session = session.id_session
WHERE val.etat=1
AND nval.etat=0
GROUP BY `session`.id_session
En clair, il faudrai que SQL compte quand même 0 lorsqu'il n'y a pas de ligne correspondante à la recherche dans les inscriptions au lieu de dégager completement une ligne.
en clair je souhaite obtenir des lignes :
id_session | ...(tout les champs session)... | Val | nVal
pour chacune des sessions, dans l'état actuelle, la requette ne me retourne que ceux qui ont des inscriptions validées ET des inscriptions non validées.
Merci beaucoup!
Message édité par QireX le 20-02-2008 à 15:00:22