Problème basique en sql

Malika -  
 Malika -
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
A voir également:

6 réponses

Utilisateur anonyme
 
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
Malika
 
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
Malika
 
pardon j'ai oublié le as : [ETUDIANT.Nom]1&" "&[ETUDIANT.Prenom] AS Etudiant
0
juliie Messages postés 29 Statut Membre
 
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 Statut Membre
 
Merci beaucoup Julie, je crois aussi mais je ne trouve pas
0
Utilisateur anonyme
 
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
Malika
 
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 Statut Membre 1
 
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
Malika
 
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
 
euh il te fallait la moyenne par matière ou générale?

kinder.surprise,
le maton du matou
0
Malika
 
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
 
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
Malika
 
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