Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2011, 23h40   #1
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 24
Détails du profil
Informations personnelles :
Âge : 19

Informations forums :
Inscription : décembre 2010
Messages : 24
Points : 16
Points : 16
Par défaut Problème de requete

Bonjour, j'ai un petit problème de requete, Je vous explique :

Je dispose de 3 tables :
Une table FAMILLE(cdFam,nomFam,adFam,...)
Une table STAGE(cdStage,dateStage,...)
Une table PARTICIPATION_FAMILLE(cdFam,cdStage,nbStagiaires)

Une famille peut participer à plusieurs stage et possède un nombre de stagiaire pour ceux ci

Et je voudrais lister toutes les familles avec le nombre de stagiaires qu'elle prennent pour les stages numero 1 et numero 3

Je fais donc la requete suivante avec 2 jointures externe:

Code :
1
2
3
4
5
6
7
8
9
10
11
SELECT f.cdFam AS codeFam,
f.nomFam AS famille,
f.adFam AS adresse,
IFNULL(pfJ.nbStagiaire,'0') AS nbStagiaireJuillet,
IFNULL(pfA.nbStagiaire,'0') AS nbStagiaireAout
FROM famille f 
LEFT JOIN participation_famille pfJ ON pfJ.cdFam=f.cdFam 
LEFT JOIN participation_famille pfA ON pfA.cdFam=f.cdFam 
WHERE 
pfJ.cdStage=1
AND pfA.cdStage=3

Mais le problème c'est que malgré le fait que j'ai mis les deux LEFT JOIN dans la requête, la requete ne me liste que les familles qui sont inscrit pour les stages 3 et 1 en même temps alors que je voudrais qu'il me liste aussi les familles qui ne participent pas à ces stages et afficher alors le nbStagiaireJuillet et Aout à 0

Voilà, Avez-vous une idée ?
Merci d'avance,
lagra007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 13h02   #2
Membre à l'essai
 
Inscription : mars 2007
Messages : 16
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 16
Points : 20
Points : 20
Citation:
Envoyé par lagra007 Voir le message
B
Mais le problème c'est que malgré le fait que j'ai mis les deux LEFT JOIN dans la requête, la requete ne me liste que les familles qui sont inscrit pour les stages 3 et 1 en même temps alors que je voudrais qu'il me liste aussi les familles qui ne participent pas à ces stages et afficher alors le nbStagiaireJuillet et Aout à 0

Voilà, Avez-vous une idée ?
Merci d'avance,
EDIT:

C'est le where qui élimine ceux qui n'ont pas fait de stage.

Code :
1
2
3
4
5
6
7
8
SELECT f.cdFam AS codeFam,
f.nomFam AS famille,
f.adFam AS adresse,
IFNULL(pfJ.nbStagiaire,'0') AS nbStagiaireJuillet,
IFNULL(pfA.nbStagiaire,'0') AS nbStagiaireAout
FROM famille f 
LEFT JOIN participation_famille pfJ ON pfJ.cdFam=f.cdFam  AND pfJ.cdStage=1
LEFT JOIN participation_famille pfA ON pfA.cdFam=f.cdFam AND  pfA.cdStage=3
yvesA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h31.


 
 
 
 
Partenaires

Hébergement Web