Mysql 如何将三个SQL与两个具有相同字段的表连接起来

Mysql 如何将三个SQL与两个具有相同字段的表连接起来,mysql,sql,php-7,Mysql,Sql,Php 7,我有三张桌子 Student ------------- id, matno, Surname, faculty_id, dept_id, .... Faculty ------------ id, name, ... department ------------------- id, name, .... 我想使用matno选择学生详细信息,再加上使用教员id和部门id的教员姓名和部门名称。我尝试了我能想到的所有SQL连接组合,但只得到一个名称字段 若我尝试使用不同的语句获取查询,则在

我有三张桌子

Student
-------------
id,
matno,
Surname,
faculty_id,
dept_id,
....

Faculty
------------
id,
name,
...

department
-------------------
id,
name,
....
我想使用matno选择学生详细信息,再加上使用教员id和部门id的教员姓名和部门名称。我尝试了我能想到的所有SQL连接组合,但只得到一个名称字段

若我尝试使用不同的语句获取查询,则在第二次查询时也会得到null

编辑 我的SQL查询是

SELECT * FROM student INNER JOIN faculty ON faculty.id = student.faculty_id LEFT JOIN department ON  department.id = student.dept_id WHERE student.matno = 1104

假设
faculty\u id
depart\u id
faculty
department
表中的外键,此查询应给出您所需的结果(用所需的搜索值
matno
替换
):


假设
faculty\u id
depart\u id
faculty
department
表中的外键,此查询应给出您所需的结果(用所需的搜索值
matno
替换
):

尝试使用此左联接,以便至少所有学生都将在结果集中,并从中选择所需字段


尝试使用这个左连接,这样至少所有学生都会在结果集中,并从中选择所需的字段。

这不是有效的php代码,即使是,它仍然非常危险,不安全。它可能不会在Linux上运行,因为大小写敏感度不匹配。这并不能解决问题,名称列仍然是一个。这是无效的php代码,即使是,它仍然非常危险,并且不安全。它可能不会在Linux上运行,因为区分大小写不匹配。这并不能解决问题,名称列仍然是oneNo担心的问题。很高兴我能帮忙。@StanleyAloh试试这些:,不用担心。很高兴我能帮忙。@StanleyAloh试试这些:,
SELECT s.matno, s.surname, f.name AS faculty, d.name AS department
FROM Student s
JOIN Faculty f ON f.id = s.faculty_id
JOIN department d ON d.id = s.dept_id
WHERE matno = ???
SELECT * FROM 
STUDENT S
LEFT JOIN FACULTY F
ON S.FACULTY_ID = F.ID
LEFT JOIN DEPARTMENT D
ON S.DEPT_ID = D.ID WHERE S.MATNO = "$your_matno";