Selection d'eleves par payemment de scolarite requete sql

bjr.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 affiche tous les eleves au lieu d'afficher les eleves qui ne sont pas a jour de leur scolarite

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'

2 réponses

  1. merci bcoup 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']."')
    1. Salut, tu peut toujours faire une jointure :

      SELECT eleve.nomelv, eleve.nomclass, eleve.preelv , classe.sommef
      FROM eleve
      INNER JOIN classe ON (eleve.codeclass = classe.codeclass)
      WHERE eleve.preelv < classe.sommef
      ORDER BY eleve.nomelv ASC

      Ce qui récupére tout les évélves dont leur cotisations (preelv)
      est inféreur à la cotisation à devoir pour la classe (sommef)