告诉我内连接三个表的查询

时间:2014-01-02 09:48:01

标签: mysql

我有三张桌子

  • table1 - student
  • table2 - teacher
  • table3 - class

这三个表中常见的一件事是class id

我希望按classid='grade1'显示列。 结果应为classid , studentid , teacherid, locid

错误是:

  

检查与您的MySQL服务器版本相对应的手册,以便在#cc.acacherid附近使用正确的语法,c .locid FROM student_master a INNER JOIN teacher_link b ON a.classid'在第2行

我的查询是

select  a.classid, a.studentid
b.teacherid,
c.locid
FROM student_master a
INNER JOIN teacher_link b
ON a.classid = b.teacherid
INNER jOIN class_master c
ON a.classid = c.locid

WHERE a.classid = 'grade1' ;

3 个答案:

答案 0 :(得分:2)

  

这三个表中常见的一件事是类ID

如果是这种情况,那么您的查询最有可能看起来像这样

SELECT  a.classid, a.studentid, b.teacherid, c.locid
  FROM class_master c JOIN student_master a 
    ON c.classid = a.classid JOIN teacher_link b
    ON c.classid = b.classid 
 WHERE c.classid = 'grade1'

答案 1 :(得分:1)

错误在a.studentid

之后缺少逗号(,)

应该是 -

select  a.classid, a.studentid,
b.teacherid,
c.locid

纠正它。

答案 2 :(得分:1)

你在a.studentid后缺少一个逗号。

select  
    a.classid, a.studentid,b.teacherid,c.locid
FROM 
    student_master a
INNER JOIN 
    teacher_link b
ON 
    a.classid = b.teacherid
INNER jOIN 
    class_master c
ON 
    a.classid = c.locid
WHERE 
    a.classid = 'grade1' ;