Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1548 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)

n°1689385
QireX
Posté le 20-02-2008 à 14:59:10  profilanswer
 

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
mood
Publicité
Posté le 20-02-2008 à 14:59:10  profilanswer
 

n°1689386
flo850
moi je
Posté le 20-02-2008 à 15:01:39  profilanswer
 

avec des COUNT, ca va pas le faire  
 
mais si ta colonne contient 0 et 1? tu peux peut etre le faire avec des SUM  
 
SEELCT id_session, SUM(val),SUM(nval)  
FROM session LEFT JOIN inscription ON val.id_session = session.id_session  
 


---------------

n°1689387
anapajari
s/travail/glanding on hfr/gs;
Posté le 20-02-2008 à 15:04:25  profilanswer
 

conditions dans le where sur des tables "left-jointer" = transformation en inner join.
Voir là: http://forum.hardware.fr/hfr/Progr [...] 1691_1.htm

 

edit:
count remontera 0 même si il n'y a pas de correspondances pas besoin de faire sum :o


Message édité par anapajari le 20-02-2008 à 15:05:44

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1689390
QireX
Posté le 20-02-2008 à 15:10:15  profilanswer
 

je n'ai pas tout compris de ta réponse anapajari  :sarcastic: , saurais-tu me "mâcher le travail" ?  :whistle:  
 
Merci pour les réponses aussi rapides.

n°1689391
flo850
moi je
Posté le 20-02-2008 à 15:10:32  profilanswer
 

sauf que pour le cout, je ne fait plus qu'une jointure au lieu de deux :d


---------------

n°1689430
anapajari
s/travail/glanding on hfr/gs;
Posté le 20-02-2008 à 15:57:41  profilanswer
 

QireX a écrit :

saurais-tu me "mâcher le travail" ?  :whistle:


euh ... biensur mais je facture 100€ de l'heure ... :/
Je vois pas ce qu'il y a de dure à virer les conditions mises dans le where pour les mettre dans les ON correspondants.
D'ailleurs sur le lien filé, c'est tout marqué, t'as juste à adapter.
 
flo>Ouais bon ok [:dawak] mais à ce moment là je ferais un case when dans le sum pour ne pas avoir à m'emmerder avec la "vraie" valeur.


---------------
Software and cathedrals are much the same - first we build them, then we pray.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)

 

Sujets relatifs
Envois de mails avec fichier(s) attache(s)probleme avec sockets : fonctionnement aléatoire
[VB/VBA/VBS] Excel vba et Windows 64 bit: problème de shell ?Remplacer plusieurs procédure par une seule dans un module
C# : problème avec retour de valeur (return int)Moteur de recherche dans BDD MySQL
MySQL avec DreamweaverSelect count de plusieurs champs sous access
[résolu] Petit problème de Thread 
Plus de sujets relatifs à : [MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR