0

学生数に対して適切な値を取得するのに問題があります。カーソルを使用する必要があり、プログラムの出力は次のようになります...少し混乱しているので、ここからどこへ行くべきか正しい方向に導かれるようにしています。ありがとう!

Class Name    Number of Students
=================================
Biology                        6
Calc                           3
German                         5

これが私の現在のコードです:

DECLARE
        CURSOR c_1 IS
            SELECT c.class_name, AVG(s.grade)
            FROM   class c, student s
                WHERE  c.class_id = s.class_id
            GROUP BY class_name
                ORDER BY class_name;

        grade_rec c_1%ROWTYPE;

BEGIN
      DBMS_OUTPUT.PUT_LINE(('Class Name') || '    ' || ('NUMBER OF Students'));
      DBMS_OUTPUT.PUT_LINE('--------------------------------------');
      FOR grade_rec IN c_1 LOOP
       DBMS_OUTPUT.PUT_LINE(rpad(grade_rec.class_name, 15) || 
        '             ' || lpad(grade_rec.avg_grade, 10));
    END LOOP;
END;
4

1 に答える 1