左边的错误在mysql中连接三个表

时间:2016-07-20 10:53:22

标签: mysql

我整天都在阅读有关如何在一个SQL查询中使用jouin 3表的stackoverflow的问题,我尝试了很多次但它没有用!!

我的情况是这样的,我想了解它是如何工作的,我应该怎么做。

我的SQL查询如下:

SELECT students.id,
       students.name,
       students.age,
       students.subjects,
       students.teacher from students
LEFT JOIN subjects ON students.subjects = subjects.subject_id
LEFT JOIN teachers ON students.teacher = teachers.teacher_id

我的情况有什么不对?

2 个答案:

答案 0 :(得分:1)

您在第二个LEFT JOIN中错过了一个条件:

SELECT s.id, s.name, s.age, s.subjects, s.teacher 
FROM students s LEFT JOIN
     subjects su
     ON s.subjects = su.subject_id LEFT JOIN
     teachers t
     ON s.teacher = t.teacher;

但是,您应该注意,查询仅从students获取列,因此您不需要连接(此时,我猜测您想要的查询更多复杂)。

答案 1 :(得分:-1)

试试这个兄弟

select stud.id,stud.name,stud.age,stud.subjects,stud.teacher
from  students stud, subjects sub ,teachers tea 
where stud.subjects = sub.subject_id and stud.teacher = tea.teacher_id