СРЕДНЕГО несколько строк в столбце в Access - PullRequest
1 голос
/ 03 мая 2011

У меня есть следующие таблицы:

Table 1
Student , Exam_ID
1      1      
2      1     
3      2     
1      2     
3      3     
2      3     
3      4     
1      4  

Table 2
Exam ID, Mark
(1   , 5)
(2 ,   4)
(3  ,  4)
(4 ,   5)

каждый экзамен решается парами студентов ... я хочу иметь возможность усреднить оценку всех экзаменов, сданных, например, каждой парой студентов:Экзамены 2 и 4 сдают одна и та же пара студентов (3,1). Я хочу иметь возможность усреднять оценки за те 2 экзамена, которые (4,5) = 4,5, а затем ранжировать эти пары от наивысших до наименьших баллов.Вы

Как мне включить First_Name и Фамилию в первую таблицу?

1 Ответ

0 голосов
/ 03 мая 2011
SELECT
    a.Student AS studentA
  , b.Student AS studentB
  , AVG(T2.Mark) AS averageMark
FROM ( T2
      INNER JOIN T1 AS a
          ON a.Exam_ID = T2.Exam_ID
     )  
      INNER JOIN T1 AS b
          ON a.Exam_ID = b.Exam_ID
          AND a.Student < b.Student
GROUP BY a.Student
       , b.Student
ORDER BY AVG(T2.Mark) DESC

или это:

SELECT
    a.Student AS studentA
  , b.Student AS studentB
  , AVG(T2.Mark) AS averageMark
FROM ( T1 AS a
      INNER JOIN T1 AS b
          ON a.Exam_ID = b.Exam_ID
          AND a.Student < b.Student
     )
      INNER JOIN T2
          ON a.Exam_ID = T2.Exam_ID
GROUP BY a.Student
       , b.Student
ORDER BY AVG(T2.Mark) DESC

, где более очевидно, как это работает.JOIN внутри скобки находит пары, а следующее JOIN связывает пары со второй таблицей Marks.

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