【发布时间】:2014-12-27 23:08:56
【问题描述】:
我有四个这样的表:
- 学年(id)
- 学生(id,schoolyear_id)
- 测试(id)
- 成绩(id、test_id、student_id、分数)
学生与schoolyear(通过fk)相关联,成绩与test 和student 通过fk 相关联。
无论如何,我希望返回特定学年的所有学生,并加入该学生的测试 score 以及学生表中的所有其他字段(如果存在)。如果不是,score 字段应该为空。这是我所拥有的:
SELECT *, `student`.`id` as `studentid`
FROM `student`
LEFT JOIN `grade` ON `grade`.`student_id` = `student`.`id`
WHERE `student`.`schoolyear_id` = ?
我目前的声明中没有任何内容告诉它特定的测试,但这就是我想要的。
【问题讨论】:
-
你能提供样本数据和期望的结果吗?理解起来有点混乱。
-
@sgeddes 我想要学生表中的每个字段,以及该测试中的
rating字段。