首页 文章

多对多选择:缺少数据

提问于
浏览
0

在大学数据库中,我在 studentsmodules 之间存在多对多关系,他们注册到:使用 status 的桥接表 .

桥接表 status 有一个多字段主键(使用学生和模块的唯一组合; stud_id和mod_id)

但是,从一般选择查询返回数据时,该查询旨在列出所有这些数据:

SELECT status.stud_id, student.fname, student.sname, status.mod_id, modle.mtitle, status.grades
FROM status
INNER JOIN modle
ON status.mod_id=modle.mod_id 
INNER JOIN student
ON status.stud_id=student.stud_id 
GROUP BY status.stud_id

查询不会考虑学生可能有许多模块,并且只会将学生显示为具有单个模块 .

1 回答

  • 1

    你为什么用 GROUP BY status.stud_id ?这就是为什么你只有一个学生成绩的原因 .

    我在您的查询中没有看到任何聚合函数,因此您可能只需删除 GROUP BY

    SELECT status.stud_id, student.fname, student.sname, status.mod_id, modle.mtitle, status.grades
    FROM status
    INNER JOIN modle
    ON status.mod_id=modle.mod_id 
    INNER JOIN student
    ON status.stud_id=student.stud_id
    

相关问题