在sql

时间:2015-11-15 22:58:43

标签: sql

我还需要为那些也参加过课程2的学生找到课程1的作业标记。

  1. "任务"表,其中包含字段courseassignmentNumberweight

  2. mark表,其中包含字段studentIdcourseassignmentNumbermark

  3. 我想我应该使用内部联接来分组参加这两门课程的人的学生编号。这就是我到目前为止所做的:

    SELECT studentId, sum(0.01*mark*weight)
    
    FROM assignment, mark
    WHERE assignment.course = mark.course 
        AND mark.course = 'course1'
        AND assignment.assignmentNumber = mark.assignmentNumber
    

    如果我想找到course1的最终分数,这很有效,但我不知道如何告诉程序只考虑同时考虑course1course2的学生。我错过了什么吗?我应该完全使用不同的命令吗?任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

你可以使用in而不是相等。也改变了

and mark.course = 'course1'

and mark.course in ( 'course1', 'course2')