Tri par classe et status de payemment

Fermé
enselme - 26 sept. 2014 à 10:50
enselme Messages postés 4 Date d'inscription dimanche 28 septembre 2014 Statut Membre Dernière intervention 30 septembre 2014 - 30 sept. 2014 à 09:51
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
26 sept. 2014 à 11:15
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
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
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
29 sept. 2014 à 10:58
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 mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
29 sept. 2014 à 11:00
soit supprime la table eleve
soit rajoute dans ton where la condition a des couettes
0
enselme Messages postés 4 Date d'inscription dimanche 28 septembre 2014 Statut Membre Dernière intervention 30 septembre 2014
30 sept. 2014 à 09:51
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