【发布时间】:2019-12-04 18:01:46
【问题描述】:
鉴于表 student、mathematics_marks、science_marks
学生
- student_id(主键)|小号
- 学生姓名 | varchar(30)
mathematics_marks
- student_id(主键)|小号
- 得分 |浮动 (5,2)
科学标记
- student_id(主键)|小号
- 得分 |浮动 (5,2)
如果该学生在科学中获得的分数与其他学生在数学中获得的分数相等,并且在数学中获得的分数与该学生获得的分数相同,则该学生被称为对称对的一部分其他理科学生。
我正在尝试通过以下查询解决上述问题:
SELECT s.student_name
FROM student s
LEFT JOIN (mathematics_marks m CROSS JOIN science_marks sc)
ON (s.student_id = m.student_id AND m.student_id = sc.student_id)
WHERE EXISTS(SELECT * FROM mathematics_marks m
WHERE sc.score=m.score
AND m.score=sc.score)
ORDER BY student_name;
我没有得到正确的输出。谁能帮我解决我哪里出错了?
【问题讨论】:
-
为每个主题设置单独的表格似乎是糟糕的设计。 :-(
标签: mysql