#1242 - Subquery returns more than 1 row

Nicklaus333 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   - 15 juil. 2021 à 18:33
en fait j'essaie de ressortir les notes séquentielle du premier trimestre et voici ma requête SQL

SELECT g1.student_id, c.course_name, (SELECT g2.marks
                      FROM grades g2  courses c1
                      ON c1.id = g2.course_id
        sequences s1
       ON s1.id = g2.sequence_id
                      WHERE s1.id = 1) AS sequences_1_marks,(SELECT g3.marks
                                                              FROM grades g3  courses c2
                                                              ON c2.id = g3.course_id
                                                               sequences s2
                                                              ON s2.id = g3.sequence_id
                                                              WHERE s2.id = 2) AS sequences_2_marks
FROM grades g1  courses c
ON c.id = g1.course_id
 sequences s
ON s.id = g1.sequence_id
 exams e
ON e.id = s.exam_id
WHERE e.id = 1


cela me retourne l'erreur #1242 - Subquery returns more than 1 row

comment pourrais je arrangé cela

merci d'avance pour votre aide
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention    
bonjour,
peux-tu décrire la structure de tes tables, et expliquer le résultat que tu attends, éventuellement avec des exemples?
0
Nicklaus333 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour bien dormi ???

exams (id, name) represente les trimestres d'une école
sequences(id, name, exam_id) represente les sequences d'une école
courses (id, course_name) represente les cours d'une école
grades (id, marks, student_id, sequence_id, course_id) represente les différentes notes par élève en fonction de chaque cours

j'ai souhaite d'afficher les notes sequentielle des élèves en fonction des trimestres par matière
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 
je ne peux que deviner ce que tu essaies de faire, j'ignore ce qu'est une note "séquentielle", tu ne donnes pas d'exemple, ni ne fait de lien avec tes tables.

partons d'une requête qui fonctionne et te rapproche du résultat:
fais une requête qui retourne:
student_id, course_name, sequence_id, marks
partages ici la source SQL de cette requête.

si je devine bien, tu veux ensuite "rassembler" sur une ligne les "marks" pour les sequence_id valant 1 et 2.
0
Nicklaus333 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
SELECT g.student_id, c.course_name, g.sequence_id, s.name, g.marks
FROM grades g courses c
ON g.course_id = c.id
sequences s
ON g.sequence_id = s.id



voici la requette qui retourne ce que tu demande

Oui je veux rassember les marks sur deux ligne pour les sequence_id valant 1et 2
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 
il faut alors ajouter une seconde fois la table grades dans la ture.
0