我有三张table
students_first_semester_mark (StudentdID,Subject, Semester_I_Mark )
students_second_semester_mark (StudentdID,Subject, Semester_II_Mark )
students_third_semester_mark (StudentdID,Subject, Semester_III_Mark )
我希望有以下类型的输出:
_________________________________________________________________________________
|StudentdID | Subject | Semester_I_Mark| Semester_II_Mark | Semester_III_Mark
_________________________________________________________________________________
请注意 Semester_I_Mark
或者 Semester_II_Mark
可能有空值。
我渴望得到你的答案。
4条答案
按热度按时间8nuwlpux1#
下面是我能想到的最简单的答案。
jaql4c8m2#
这就是你想要的吗?
hxzsmxv23#
我假设所有的学生不会出现在所有科目。
在mysql中实现它有点棘手,因为它不支持
full outer join
.推导
FULL OUTER JOIN
,你需要一个LEFT JOIN
工会RIGHT JOIN
. 在您的示例中,有3个表,您需要对前2个表重复此操作,然后合并它们。所以查询看起来会很复杂。dbfiddle演示
使用coalesce使
studentdid
以及subject
当我们使用时返回outer join
.n53p2ov04#
这可能会帮助您: