Problème basique en sql

Fermé
Malika - 23 avril 2003 à 16:23
 Malika - 24 avril 2003 à 16:30
Bonjour,
je suis en cours, je débute en sql

souci: une table etudiant, Matière et Note
quel select pour afficher les moyennes par étudiants

etudiant: numEtu, nom

matiere : codMat, Libelle

notes: codMat, numEtu, note

Si quelqu'un peut me le dire, ça serait vraiment sympa

6 réponses

Utilisateur anonyme
23 avril 2003 à 16:25
Salut,
Essaye d'abord et on te corrigera, sinon, tu ne comprendras jamais ! :o)

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
0
tout à fait raison kalamit mais j'essye dêpuis tt à l'heure, ça donne ceci (je dois aussi concaténer les nom et prénom d'es étudiants)
(de plus il n'acceptait pas note comme champs et j'ai mis "point")

SELECT AVG(Point) AS Moyenne, [ETUDIANT.Nom]1&" "&[ETUDIANT.Prenom]
FROM NOTES, ETUDIANT
WHERE NOTES.NumEtu=ETUDIANT.NumEtu;
0
pardon j'ai oublié le as : [ETUDIANT.Nom]1&" "&[ETUDIANT.Prenom] AS Etudiant
0
juliie Messages postés 29 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 10 juillet 2003
23 avril 2003 à 16:38
Salut,
je pense que tu as besoin d'un group by en plus à la fin et dc d'un having si tu dois faire un groupement!
0
Malika > juliie Messages postés 29 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 10 juillet 2003
23 avril 2003 à 16:45
Merci beaucoup Julie, je crois aussi mais je ne trouve pas
0
Utilisateur anonyme
23 avril 2003 à 18:27
bonjour Malika,

l'essais que tu présentes comporte des champs qui ne sont pas dans la définition des tables que tu as décrite. Par exemple les champs Point et Prenom (encore que je me doute où ils sont)

donne-nous la définition exacte de tes tables, et comme tu as fait toi-même un essais infructueux, on te dira exactement comment faire

kinder.surprise,
le maton du matou
0
Oui Kinder tu as raison, mais ne fait je n'avais pas beaucoup de temps et je pensais bien qu'on comprendrais où ce trouvec'est champs dont tu parles.

point : est le champs décrivant la note (il n'acceptait pas note alors que la table se nomme notes(avec un s)) , il se trouve donc dans la table NOTES

quant à "prenom" bien sûr, il se trouve dans la table ETUDIANT.

c'est une longue histoire mais un prof (pas celui qui nous fait le cours en principe, il a eu un malaise) nous a donné la réponse en fesant sur access une requête en mode création et en basculant sur le code SQL. Mais il en est resorti une fonction "inner join" que nous n'avions pas fait jusque là. Nous ne savons pas s'il s'agit d'une erreur ou si c'était simplement pour que nous nous cresions les méninges. voilà! je te remercie d'avoir répondu et peut être me diras tu si l'on peut trouver une solution avec uniquement des requêtes de selection.

Merci.
Malika
0
Croc le bo Messages postés 24 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 février 2005 1
24 avril 2003 à 15:49
Bjour Malika

Avec les tables suivante :

ETUDIANT (numEtu , nom , prenom)
MATIERE (codMat , libelle)
NOTES (numEtu , codMat , note)

et la requete :

SELECT AVG(N.note) AS Moyenne,
E.nom, E.prenom
FROM NOTES N, ETUDIANT E
WHERE N.numEtu = E.numEtu
GROUP BY E.nom, E.prenom

Sur PhpMyAdmin ça fonctionne, j'espère que ça répond à ton pb

A+
0
Merci beaucoup Croc le bo, c'est vraiment très sympathique à toi!
je ne l'ai pas encore essayé mais je crois bien que c'est tout à fait ça.

Merci encore,
Malika.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 avril 2003 à 16:04
euh il te fallait la moyenne par matière ou générale?

kinder.surprise,
le maton du matou
0
C'était la moyenne générale par étudiant Kinder. Par matière ? je ne sais pas trop si ça peut avoir une utilité quelconque.

Merci,
Malika.
0
Utilisateur anonyme
24 avril 2003 à 16:26
euh ben quand j'étions au lycée, les moyennes on les avait par matière, histoire de savoir les points forts et les points faibles des lycéens, mais bon...

okie ben c'est parfait alors...

pour ce qui est de l'opérateur normalisé de jointure interne (INNER JOIN) si ce n'est pas dans ton programme alors tu t'en fiches, mais le sujet est intéressant et tu trouveras une masse d'infos sur le net je pense.

kinder.surprise,
le maton du matou
0
Merci bcp Kinder, je ne savais pas que ça se fesait les moyennes par matières mais tu m'as bien expliqué pour quel cas ça pouvait être utile. Thanks!

On pour le "inner join", je crois que nous verrons ça dans sqlserver.

Merci encore,
Malika.
0