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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU]Comptage impossible ou pb avec mon "left join" ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Comptage impossible ou pb avec mon "left join" ?

n°1603900
filo45
Posté le 25-08-2007 à 02:28:12  profilanswer
 

Bonsoir,
 
Voici mon pb :  
 
J'ai deux tables :
"COMPETENCE", qui contient IDCOMPETENCE
 
"COMPETENCE_EXERCICE" qui contient IDCOMPETENCE et IDEXERCICE
 
Ma demande de requête est simple. Je veux lister toutes les compétences de "COMPETENCE", et compter combien de fois elles ont IDEXERCICE = 1 d'associé dans la table COMPETENCE_EXERCICE.
En gros, compter le nombre d'exercice 1 pour chaque compétence....
 
Le left join me donne le nombre d'exo total par compétence. Mais je veux compter que les exos avec IDEXERCICE = 1 et pas les autres....
 
 
Vous avez une idée ?
Mon début de requête :
SELECT C.IDCOMPETENCE, count(C_EX.IDEXERCICE) AS SOMME
FROM COMPETENCE C
LEFT JOIN COMPETENCE_EXERCICE C_EX  
ON C_EX.IDCOMPETENCE = C.IDCOMPETENCE
GROUP BY IDCOMPETENCE
 
 
Y a juste le filtre sur l'IDEXERCICE à compter que j'arrive pas à placer... Merci pour votre aide. Elle me sera très précieuse :-)

Message cité 1 fois
Message édité par filo45 le 25-08-2007 à 12:07:10
mood
Publicité
Posté le 25-08-2007 à 02:28:12  profilanswer
 

n°1603925
filo45
Posté le 25-08-2007 à 12:04:27  profilanswer
 

Bon, bé, je me suis trouvé la réponse seul....
 
Voici ma requête au final :
SELECT C.IDCOMPETENCE, count(C_EX.IDEXERCICE)
FROM COMPETENCE C
LEFT JOIN (SELECT * FROM COMPETENCE_EXERCICE C_EX WHERE C_EX.IDEXERCICE = 1) AS C_EX
ON C_EX.IDCOMPETENCE = C.IDCOMPETENCE
GROUP BY C.IDCOMPETENCE
 
Et ça fait bien ce que je demande....
:-)
 

n°1603926
moi23372
Posté le 25-08-2007 à 12:05:27  profilanswer
 

filo45 a écrit :

Bonsoir,
 
Voici mon pb :  
 
J'ai deux tables :
"COMPETENCE", qui contient IDCOMPETENCE
 
"COMPETENCE_EXERCICE" qui contient IDCOMPETENCE et IDEXERCICE
 
Ma demande de requête est simple. Je veux lister toutes les compétences de "COMPETENCE", et compter combien de fois elles ont IDEXERCICE = 1 d'associé dans la table COMPETENCE_EXERCICE.
En gros, compter le nombre d'exercice 1 pour chaque compétence....
 
Le left join me donne le nombre d'exo total par compétence. Mais je veux compter que les exos avec IDEXERCICE = 1 et pas les autres....
 
 
Vous avez une idée ?
Mon début de requête :
SELECT C.IDCOMPETENCE, count(C_EX.IDEXERCICE) AS SOMME
FROM COMPETENCE C
LEFT JOIN COMPETENCE_EXERCICE C_EX  
ON C_EX.IDCOMPETENCE = C.IDCOMPETENCE
GROUP BY IDCOMPETENCE
 
 
Y a juste le filtre sur l'IDEXERCICE à compter que j'arrive pas à placer... Merci pour votre aide. Elle me sera très précieuse :-)


 
moi je ferais encore différemment
 
SELECT C.IDCOMPETENCE, NVL((SELECT count(*)  
                                            FROM COMPETENCE_EXERCICE C_EX
                                            WHERE C_EX.IDCOMPETENCE =  C.IDCOMPETENCE
                                            AND C_EX.IDEXERCICE = 1),0)
FROM COMPETENCE C
 
 
PS: NVL est une fonction ORACLE. A remplacer pour l'SGBD que tu utilises
Oracle: NVL
SqlServer: IsNull
MySql: ?
...

n°1604031
mrbebert
Posté le 25-08-2007 à 22:36:11  profilanswer
 

IFNULL avec MySQL :o
(mais je suis pas sur qu'il gère ce genre de syntaxe)


Message édité par mrbebert le 25-08-2007 à 22:37:01

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

  [RESOLU]Comptage impossible ou pb avec mon "left join" ?

 

Sujets relatifs
[VBA] Via Macro Excel, Ouvrir & Editer fichier CSV [RÉSOLU]NET USE Batch & Tache Planifiée [Résolu]
[ASP.NET][C#][Résolu]données d'un datagridview[Résolu] Problème d'arborescence avec require_once( )
[Impossible, contourné] Argument par défaut d'un template par défautarborescence et comptage de fichiers selon extension
[RESOLU] Display None/Blockpb avec le"Cannot modify header information - RESOLU
[Résolu] CSS/JS : comment supprimer un <br> ?[résolu]ODBC et macro excel
Plus de sujets relatifs à : [RESOLU]Comptage impossible ou pb avec mon "left join" ?


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