J'essaie de résoudre un problème, mais je semble ne rien obtenir. Je veux afficher les élèves de 12e année qui ont obtenu une note inférieure à la moyenne pour les mathématiques, au lieu d'afficher leur moyenne plutôt que leurs moyennes mathématiques.SQL, requêtes imbriquées (MS ACCESS)
J'utilise msaccess et soupçonne l'utilisation de requêtes imbriquées sont des champs nécessaire.La avec lesquels je travaille sont prenom, last_name, qualité (de 1 à 12) et en mathématiques (contenant des marques mathématiques)
Je possède ce :
Select first_name,last_name,maths
FROM students
WHERE grade = 12
HAVING ROUND(AVG(maths),1)< maths;
sortie:
erreur: Vous avez essayé d'exécuter une requête qui ne comprend pas l'expression spécifiée « prenom » dans le cadre d'une fonction d'agrégation
Cependant, je ne sais pas pourquoi il lance cette erreur et il répète comme ça même après avoir enlevé le champ de sélection que je ne veux pas faire en premier lieu parce que je dois l'afficher
Veuillez lire et agir sur [mcve]. Donner tout le code, l'entrée, la sortie, la sortie désirée et les messages d'erreur pertinents. – philipxy
J'ai fourni le contexte, les champs, le résultat attendu et le code causant le problème que puis-je ajouter de plus? @philipxy –
Lisez à propos de HAVING. Il est utilisé avec GROUP BY. Quand il n'y a pas de GROUP BY explicite, c'est comme si vous en aviez écrit un certain par défaut. Puisque le regroupement partitionne une table en groupes de lignes par valeur de sous-liste pour des colonnes spécifiées, on ne peut sélectionner que SELECT parmi ces colonnes, car il y a beaucoup de lignes avec des valeurs différentes pour les autres colonnes. PS Si vous avez donné le numéro d'erreur et le message, vous pourriez probablement obtenir votre réponse en recherchant directement sur Google. – philipxy