Mysql 多对多关系表
我有三张桌子:Mysql 多对多关系表,mysql,Mysql,我有三张桌子: 学生: 学生 , 名字 , 姓, 专业 学年 , 课程: 学生, courseid , coursename , 部门 , 学生与大学课程: 名字 , 学生 , courseid , 我需要编写一个SQL查询,显示哪些学生正在学习哪些课程一个学生应该能够注册多个课程,一个课程应该能够由多个学生学习 我创建的查询出现错误,有人能帮我吗 select students.firstname as 'name', GROUP_CONCAT(courses.coursename
- 学生: 学生 , 名字 , 姓, 专业 学年 ,
- 课程: 学生, courseid , coursename , 部门 ,
- 学生与大学课程: 名字 , 学生 , courseid ,
select
students.firstname as 'name',
GROUP_CONCAT(courses.coursename) as 'course name'
from students
join students_courses on students.studentid = students_courses.studentid
join courses on courses.courseid = students_courses.Courseid
group by students.Firstname
order by courses.coursename
我觉得你的桌子结构不对 学生:好的 表课程:删除学生id 表student\u课程:删除student\u名称 然后以这种方式查询数据
SELECT * FROM students AS s LEFT JOIN student_courses AS sc ON s.id=sc.student_id LEFT JOIN courses AS c ON c.id=sc.course_id
如果需要,添加必要的WHERE子句
查询显示所有用户所修的所有课程。它还打印没有课程的用户 第一:为什么要使用group concat?你犯了什么错误?我没有犯错误,对此我很抱歉。查询没有按应该的方式运行我,你能帮助我熟悉mysql并编写查询吗。我输入了你给我的信息,上面说子句是模糊的。你不必写“WHERE子句”,但取决于你想显示什么“WHERE student\u id=variable”或“WHERE course\u id=variable”变量当然是您试图获取的资源的ID,并且您对jn感兴趣。我必须编写查询,我得到一个错误。我怎样才能解决这个问题?是的,我知道,但是我在添加“where子句”之前运行了程序,我得到一个错误,我告诉你“子句不明确”你用表字段名解决了查询吗?