代码之家  ›  专栏  ›  技术社区  ›  VickyBoy

我试图用3个以上的表构建一个查询,其中数据分散在

  •  -1
  • VickyBoy  · 技术社区  · 3 年前

    桌子 tblSubject

    子ID 子名称
    1. 数学
    2. 英语

    桌子 tblTeachers

    教师ID 教师姓名
    1. 斜纹棉布
    2. 玛丽

    桌子 tblStudent

    学生ID 学生姓名
    1. 爱德华
    2. 劳伦

    桌子 tblStudentSubMap

    身份证件 学生ID 教师ID 子ID
    1. 1. 1. 1.
    2. 2. 1. 1.
    3. 1. 2. 1.
    4. 2. 2. 1.
    5. 1. 1. 2.
    6. 2. 1. 2.
    7. 2. 2. 2.

    我正在尝试获得以下输出,但无法使用各种内部连接等

    尝试的查询:

    SELECT tblsubject.subname, tblTeachers.teacherName 
      FROM tablesubject, tblteachers 
    WHERE tblStudentSubMap.studentId=1
    

    这个 WHERE 条件输入应为 studentid 并返回相应的学科名称和教师名称。

    输出

    身份证件 表主题 教师姓名
    1. 数学 斜纹棉布
    2. 英语 玛丽

    对于Studentid=1

    0 回复  |  直到 3 年前
        1
  •  0
  •   Cyrille Con Morales    3 年前

    有多种连接表的方法,但您可以尝试下面的代码

    //Get columnName in every Table
    SELECT map.Id,s.studentName,t.teacherName,sub.subName
    FROM tblStudentSubMap map
    LEFT JOIN tblStudent s ON s.studentID = map.studentID//Find Data with the same ID
    LEFT JOIN tblTeacher t ON t.teacherID = map.teacherID//Find Data with the same ID
    LEFT JOIN tblSubject sub ON sub.ID = map.subID;//Find Data with the same ID