【发布时间】:2018-02-26 06:50:52
【问题描述】:
我有一张表格,其中包含某些科目的学生成绩。
STUDENT_GRADES
id | studentid | subjectid | grade
-----------------------------------
1 | 1 | 1 | A+
2 | 1 | 2 | A
3 | 1 | 3 | A-
4 | 2 | 2 | A
5 | 2 | 3 | A-
6 | 3 | 2 | B
7 | 4 | 3 | B+
我还有另一个包含主题列表的表格。
SUBJECTS
subjectid | subjectname
-----------------------------
1 | Maths
2 | Science
3 | History
现在我必须以以下格式检索结果。
FORMATTED_GRADES
studentid | subjectid | grade
-----------------------------------
1 | 1 | A+
1 | 2 | A
1 | 3 | A-
2 | 1 | fail
2 | 2 | A
2 | 3 | A-
3 | 1 | fail
3 | 2 | B
3 | 3 | fail
4 | 1 | fail
4 | 2 | fail
4 | 3 | B+
FORMATTED_GRADES 包含来自STUDENT_GRADES 的每个学生及其每个科目的成绩。如果STUDENT_GRADES中的某个学科没有学生的成绩,那么该学生在该学科的成绩应该是不及格。
【问题讨论】:
标签: sql postgresql join left-join cross-join