Requête

Résolu
kossinus Messages postés 8 Statut Membre -  
kossinus Messages postés 8 Statut Membre -
Bonjour à tous.
J'ai une table dans Mysql comme suit:

id nomEtudiant statutDevoir

1 Toto ok
2 Tata pas_ok
3 Toto pas_ok
4 Titi ok
5 Titi ok
6 Titi pas_ok

Je veux faire une requête pour avoir un résultat du genre:

nomEtudiant statutDevoir_ok statutDevoir_non

Toto 1 1
Tata 0 1
Titi 2 1

Où statutDevoir_ok est le cumul de ok du statutDevoir d'étudiant et statutDevoir_non est le cumul de pas_ok.

J'ai fais une requête de cette forme:

SELECT nomEtudiant , statutDevoir , COUNT( * ) as nb
FROM maTable
GROUP BY nomEtudiant , statutDevoir

Cette requête me donne:
nomEtudiant statutDevoir nb

Toto ok 1
Toto pas_ok 1
Tata ok 0
Tata pas_ok 1
Titi ok 2
Titi pas_ok 1

Cette requête, même si elle me donne les bonnes informations, ne me donne pas le format demandé que je veux exploiter dans un code php.

J'aimerais savoir s'il est d'abord possible d'avoir le résultat que je cherche et si oui, un coup de main pour l'avoir serait beaucoup salutaire.
merci.

1 réponse

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Essaie quelque chose de ce genre :
SELECT nomEtudiant, 
  SUM(CASE WHEN statutDevoir = 'ok' then 1 else 0 end) as statutDevoir_ok,
  SUM(CASE WHEN statutDevoir = 'pas_ok' then 1 else 0 end) as statutDevoir_non
FROM maTable
GROUP BY nomEtudiant


Xavier
0
kossinus Messages postés 8 Statut Membre
 
Wahou Xavier!!!! Impeccable!!!

ça marche à merveille!!! Merci beaucoup Xavier!
0