首页 > 解决方案 > 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"

标签: mysql

解决方案


假设讲师 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"

推荐阅读