Tri par classe et status de payemment

enselme -  
enselme Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
slt a tous g suis un debutant en php g cherche un obtenir un resultat que g n'arrive pas malgre toutes les requete que tape.j'ai 2 tables
classe('codeclas', 'nomclass', 'sommef', 'nombreversement')
eleve('codeelv', 'nomelv', 'preelv', 'matelv', 'codeclas', 'numrecu', 'somp', 'motifp', 'nomeconome', 'date')
j'aimerai obtenir la liste des eleves qui ne sont pas a jour,g precise que la sommefixe depend de la classe:cp1-cp2---65000,ce1-ce2------67000,cm1-cm2------70000
voici mon scripte qui me donne erreur
SELECT 'nomelv', 'preelv' FROM 'eleve','classe' WHERE 'eleve'.'codeclas'='classe'.'codeclas' AND sum('somp')<'sommef' AND 'classe'.'codeclas'='1' GROUP BY 'nomelv', 'preelv'
group by parcequ'une personne peut faire plusieur payements

3 réponses

Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
SELECT 'nomelv', 'preelv' 
FROM 'eleve','classe' 
WHERE 
'eleve'.'codeclas'='classe'.'codeclas' 
AND sum('somp')<'sommef' AND 'classe'.'codeclas'='1'
 GROUP BY 'nomelv', 'preelv' 


dans ta requête, il me semble que la somme est fausse
il faut que tu la fasses avant la comparaison ...

SELECT client, SUM(tarif) as toto
FROM achat
GROUP BY client


c'est ce qui nous donne la somme avec le nom qui change "trop le bordel chez toi"

SELECT 'nomelv', 'preelv' 
FROM 
'eleve',
( SELECT 'codeclas','nomelv', sum('somp') as toto 
FROM 'eleve' GROUP BY 'nomelv','codeclas') as new_tab
WHERE 
'new_tab'.'codeclas'='classe'.'codeclas' 
AND 
'new_tab'.'toto'<'sommef' 
AND 
'classe'.'codeclas'='1' 


voila l idée
0
enselme
 
kan g met ce code la ça ne fonctionne pas
mais le code suivant /////SELECT 'nomelv',sum('somp') FROM 'eleve','classe' WHERE 'eleve'.'codeclas'='classe'.'codeclas' AND 'classe'.'codeclas'='1' GROUP BY 'nomelv', 'preelv' ////affiche les différentes sommes payée des par élèves de la classe.exemple si yao a paye 10000,20000 et markus paye 5000 et 1000.le code affiche 30000 et 6000.mais xa ne repond pas a mes attente,mois g cherche la liste des eleves qui ne sont pas a jour de la scolarite
0
enselme
 
g viens de taper un code mais ca affiche tout les eleves de la classe
SELECT 'eleve'.'nomelv', 'preelv' FROM 'eleve','classe',(SELECT 'codeclas','eleve'.'nomelv',sum('somp') as toto FROM 'eleve' GROUP BY 'codeclas','eleve'.'nomelv') as new WHERE new.'codeclas'='classe'.'codeclas' AND 'classe'.'codeclas'='1' AND toto <'sommef' GROUP BY 'nomelv', 'preelv' ,'classe'.'codeclas'




AIDEZ MOI SVP
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
SELECT 'eleve'.'nomelv', 'preelv'
 FROM 'eleve','classe',
(SELECT 'codeclas','eleve'.'nomelv',sum('somp') as toto 
FROM 'eleve' GROUP BY 'codeclas','eleve'.'nomelv') as new 
WHERE new.'codeclas'='classe'.'codeclas' 
AND 'classe'.'codeclas'='1' AND toto <'sommef'
GROUP BY 'nomelv', 'preelv' ,'classe'.'codeclas' 

dans ta requete y a trois tables et pas de condition de jonction entre eleve et classe
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
soit supprime la table eleve
soit rajoute dans ton where la condition a des couettes
0
enselme Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
slt fallentree merci de m'avoir aidé

j'ai eu la solution avec cette requete

SELECT 'nomelv', 'preelv' FROM 'eleve','classe' WHERE 'eleve'.'codeclas'='classe'.'codeclas' AND 'classe'.'codeclas'='".$_GET['codeclas']."' GROUP BY 'nomelv', 'preelv' HAVING sum('somp') > (SELECT 'sommef' FROM 'classe' WHERE 'codeclas'='".$_GET['codeclas']."')
0