Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 多对多选择:缺少数据_Mysql_Sql_Select_Many To Many_Relational Database - Fatal编程技术网

Mysql 多对多选择:缺少数据

Mysql 多对多选择:缺少数据,mysql,sql,select,many-to-many,relational-database,Mysql,Sql,Select,Many To Many,Relational Database,在大学数据库中,我在学生和他们注册的模块之间存在多对多关系:使用状态为的桥接表 桥接表状态具有多字段主键(使用学生和模块的唯一组合;stud_id和mod_id) 但是,从用于列出所有这些数据的常规select查询返回数据时: SELECT status.stud_id, student.fname, student.sname, status.mod_id, modle.mtitle, status.grades FROM status INNER JOIN modle ON status.m

在大学数据库中,我在学生和他们注册的模块之间存在多对多关系:使用状态为的桥接表

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

但是,从用于列出所有这些数据的常规select查询返回数据时:

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

查询不会考虑学生可能有多个模块,只会将学生显示为有单个模块。

为什么使用
按状态分组。stud\u 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