calcul d'un rang, problème de classement
Bonjour
excusez mais je reviens à la charge .
j'ai une table moyenne avec comme champs
matricule,trimestre,annee,classe,moyenne.
je tente en vain de faire executer une requete pour faire le classement par ordre de merite cad moyenne 17 rang 1er ; moyenne 12 rang 2eme etc...
voici la requete :[
SELECT matricule_elev,moyenne_trim,
(SELECT COUNT (*) + 1 FROM MOYEN_ELEV_TRIM S
WHERE P.code_trim = S.code_trim
AND P.code_annee = S.code_annee
AND P.num_classe = S.num_classe
AND P.moyenne_trim = S.moyenne_trim ) AS RANG
FROM MOYEN_ELEV_TRIM P
and P.code_trim=:trim
and P.code_annee=:ane
and P.num_classe=:class
ORDER BY RANG ASC
]
quand je l'execute il m'affiche l'erreur suivante : ''Objet parameter defini de manière incorrecte des informations incohérentes ou incomplètes ont été fournies''
Mais quand j'enlève les parameètre ça marche :
[
SELECT matricule_elev,moyenne_trim,
(SELECT COUNT (*) + 1 FROM MOYEN_ELEV_TRIM S
WHERE P.code_trim = S.code_trim
AND P.code_annee = S.code_annee
AND P.num_classe = S.num_classe
AND P.moyenne_trim = S.moyenne_trim ) AS RANG
FROM MOYEN_ELEV_TRIM P
ORDER BY RANG ASC
]
j'avoue que je suis perdu . pourquoi la requete plus haut ne tourne pas ?
de l'aide SVP .
Celui qui demande ne se perd pas-----------------
[SQL Server] Probleme avec une requête
Bonjour,
je reviens à la charge
excuser d'être emmerdant mais il le faut pour avancer- OK
j'utilise SQL server 2000.
ma table ''moyenne'' comporte comme champs :
matricule,trimestre,annee,classe,moyen_trim . les 4 premiers champs constitue la clé. je stocke les moyennes de tous les élèves chaque fin de trimestre quelquesoit la classe, le trimestre ,l'année scolaire etc . exemple :
matricule e001
trimestre 03
annee 02
classe 11
moyen_trim 12,50. (etc...)
maintenant je dois faire le classement des éléves (1er ; 2eme, 3eme etc..et traiter les exequo) par classe, par trimestre,. pour cela je dois à partire d'une form (delphi) (faire un choix quelconque d'une classe donnée)entrer les paramètres classe,annee,trimestre. afin de pouvoir mettre sur les bulletins de chaque élève son rang .
NB : l'edition des bulletins se fait par classe cà d qu'on doit pourvoir à partir des paramètres entrer choisir d'imprimer une classe quelconque.
voici ma requête qui affiche tjours erreur ''objet parameter defini de manière incorrecte''
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
SELECT matricule, moyenne_trim,
(SELECT COUNT (*) +1 FROM moyenne S
WHERE S.trimestre=P.trimestre
AND S.annee = P.annee
AND S.classe = P.classe
AND S.moyen_trim > P.moyen_trim) AS rang
FROM moyenne P
Where P.trimestre=:trim
AND P.annee=:annee
AND P.classe:= classe
ORDER BY rang, ASC |
[/code]]
--
[/quote]
je n'arrive pas à m'en sortir éclairage SVP. ou ya t il d'autres astuce ?
vraiment embarrassé
merci 'davance