Общая сумма, уплаченная студентом - PullRequest
0 голосов
/ 08 марта 2020

Напишите запрос, чтобы отобразить ID студента и общую сумму, уплаченную каждым студентом. Дайте псевдоним общей стоимости как TOTALFEES. Сортировка результатов на основе идентификатора студента. Я пробовал это, но он возвращает идентификатор студента несколько раз с каждой платой за курс. пожалуйста, помогите

select s.studid,sum(c.fees) as TOTALFEES from course c,student s,registration r
where s.studid=r.studid and c.courseid=r.courseid
group by c.fees,s.studid
order by s.studid;

1 Ответ

1 голос
/ 08 марта 2020

Никогда не используйте запятые в предложении FROM.

Всегда используйте правильный, явный, стандартный , читаемый синтаксис JOIN .

То, что вам нужно, это право GROUP BY. Итак:

select r.studid, sum(c.fees) as TOTALFEES
from course c join
     registration r
     on c.courseid = r.courseid
group by r.studid
order by r.studid;

Вы хотите одну строку на studid, так что это единственный столбец в GROUP BY.

Обратите внимание, что studid находится в таблице registration , Нет необходимости JOIN до student, чтобы получить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...