Борьба с Sql Server Query - присоединения - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь создать запрос, который извлекает данные из 3 таблиц и заполняет таблицу с именем #TempStudentAcademics, которая видна на снимке экрана ниже:

enter image description here

Я просто неправильно понимаю структуру запросов и сталкиваюсь с ошибкой, теперь это может быть из-за отсутствия у меня опыта работы с join, но тем не менее я стараюсь.

Таблицы, из которых мне нужно получить данные:

СТУДЕНТЫ

enter image description here

ИСПЫТАНИЯ

enter image description here

STUDENT_SCORES

enter image description here

Я перепробовал несколько сценариев, но больше всего мне не удается взять данные строк результатов для каждого учащегося для соответствующего теста и ввести их в теперь отдельный столбец теста.

Ниже приведен один из многих вариантов, которые я попробовал и потерпел неудачу:

  SELECT STUDENTS.STUDENT_ID, isnull(STUDENTS.STUDENT_FIRSTNAME,'') +' '+ isnull(STUDENTS.STUDENT_SURNAME,''), STUDENT_SCORES.STUDENT_SCORE , AVG(STUDENT_SCORES.STUDENT_SCORE) FROM 
        (select * from STUDENT_SCORES) STUDENT_SCORES
        inner join
        (select * from TESTS)TESTS
        on STUDENT_SCORES.TEST_ID=TESTS.TEST_ID
        inner join
        (select * from SUBJECTS) SUBJECTS
        on TESTS.SUBJECT_ID= SUBJECTS.SUBJECT_ID
        inner join
        (Select * from STUDENTS) STUDENTS
        on STUDENT_SCORES.STUDENT_ID=STUDENTS.STUDENT_ID

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете использовать GroupBy, чтобы легко получить итоговое и среднее значение каждого теста. Однако student_total_average немного сложнее. как вы хотите рассчитать этот столбец?

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