提问者:小点点

如何显示一个表中所有数据,该数据是从与mysql相关的其他表中得到的


我需要一些帮助的家伙,我有两个表有关系的包ID,学生ID与其他表。 这是我的桌子:

Student_Exam

  • exam_id
  • Package_ID
  • student_id

此表中的总数据为72条记录。 (已注册参加考试的学生名单)

process_exam

  • process_id
  • Package_ID
  • student_id
  • 得分

本表共计54个数据(是开始考试的学生)

所以,我想显示所有的数据,总记录与从student_exam(72记录)的分数值相同。 输出如下:package_id student_id score

如果有学生还没有开始考试,那么将从分数字段中显示空值。

我已经试过用左联接了。 我工作不正常。 我尝试在process_exam.package_id=3的地方使用,数据将显示不正确。 它与其他package_id是随机的

因为在student_exam表中,它有许多不同值的package_id。


共1个答案

匿名用户

您说您尝试了联接,但没有成功。 但是,联接正是您所需要的。

您的查询可以是这样的:

SELECT
    process_exam.package_id,
    student_exam.student_id,
    process_exam.score
FROM
    process_exam
INNER JOIN
    student_exam ON process_exam.student_id = student_exam.student_id
WHERE
    process_exam.package_id = 3
ORDER BY
    process_exam.score DESC;

在这里测试小提琴。