Вычислите сумму одного ряда и разделите на сумму другого ряда.Oracle view / query - PullRequest
5 голосов
/ 01 мая 2011

Это мой первый вопрос, так что терпите меня.В моей базе данных Oracle есть две таблицы:

modules с полями:

  • module_code например.INF211
  • module_title например.Информационные технологии
  • credits например, 20

module_progress с полями:

  • student_id например.STU1
  • module_code например.INF211
  • module_year напр.1
  • module_percent например.65

Каждый студент получает по 5 модулей в год.

Так что я хочу поместить все это в один запрос / представление, если это возможно:

  1. Найти сумму процентов по модулю для конкретного студента
  2. Найти сумму всех кредитов по каждому модулю с учетом процентов по модулю.
  3. Разделить сумму процентов по модулю на сумму кредитов и умножить на 100дать мне среднюю оценку.

Можно ли это сделать?

1 Ответ

1 голос
/ 01 мая 2011
SELECT  student_id,
        SUM(credits * module_percent) / SUM(credits) * 100.0
FROM    module_progress mp
JOIN    modules m
ON      m.module_code = mp.module_code
GROUP BY
        student_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...