mysql - MySQL 多连接 3 表(桥表)
问题描述
第一张表课程栏:
courseId|instructorId|desc|courseName|img|
第二个表StudentCourses列:
studentCourseId|studentId
第三个表UserData列:
userId|avatar|name
所以知道 studentId,我试图让学生拥有的课程及其讲师 profiledata(在这种情况下为头像和姓名)结果列应该是:
courseId,courseName,desc,img,instructorsname,instructorsavatar
此查询为我提供学生 courseInfo,但不包括教师数据。
SELECT Courses.courseId,Courses.img,Courses.courseName,Courses.`desc` FROM Courses JOIN StudentCourses ON StudentCourses.studentCourseId = Courses.courseId WHERE StudentCourses.studentId ="igkw11tkwa06kpmoe9o6hyytrq0qaqjq"
解决方案
假设讲师 ID 与用户 ID 匹配
SELECT Courses.courseId
,Courses.img
,Courses.courseName
,Courses.`desc`
, u1.name
, u1.avatar
FROM Courses
INNER JOIN StudentCourses ON StudentCourses.studentCourseId = Courses.courseId
INNER JOIN UserData u1 ON u1.userId = Courses.instructorId
WHERE StudentCourses.studentId ="igkw11tkwa06kpmoe9o6hyytrq0qaqjq"
推荐阅读
- java - 如何在 PeriodicSizeRotatingFileHandler JBoss 7 中使用带日期的文件名?
- wordpress - Docker + jwilder/nginx-proxy + jwilder/docker-gen + jrcs/letsencrypt-nginx-proxy-companion + php:7-fpm + wordpress:fpm
- r - KableExtra 数学符号
- amp-html - 有没有办法在幻灯片过渡期间加快 AMP-Carousel 滑块上的寻呼机点?
- .net - 正则表达式检查“=”或“|” 存在于 (?<=P_MFG_PART_NUM\=) 和 (?=\|P|$) 之间
- c# - ReactiveUI ObservableAsPropertyHelper 性能
- java - 在 pom.xml 中包含 maven 项目中的所有资源
- python - 在 Python 中的已更改子目录中查找文件
- reactjs - 如何从样式组件创建 ThemeProvider 的类似物?
- python - Getting data from complex html tag with Python Beautifulsoup