挣扎于Sql Server查询-联接

时间:2019-04-15 20:30:26

标签: sql-server join

我正在尝试建立一个查询,该查询从3个表中提取数据并填充名为#TempStudentAcademics的表,该表在以下屏幕截图中可见:

enter image description here

我只是没有正确设置查询结构并遇到错误,现在这可能是由于我缺乏连接经验,但我还是尝试了一下。

我需要从中提取数据的表是:

学生

enter image description here

测试

enter image description here

STUDENT_SCORES

enter image description here

我尝试了多个scenerio,但是我在获取每个学生各自测试结果的行数据并将其输入到现在的单独测试列中时最费力。

以下是我尝试并失败的许多变体之一:

  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 :(得分:0)

您可以使用GroupBy轻松获得每个测试的测试总数和平均值。但是,student_total_average有点棘手。您想如何计算该列?