簡體   English   中英

如何將三個SQL與兩個具有相同字段NE的表連接起來

[英]How can I join three SQL with two table having the same field ne

我有三張桌子

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

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

department
-------------------
id,
name,
....

我想使用Matno加上學生名和使用faculty_id和dept_id的部門名來選擇學生詳細信息。 我嘗試了所有我能想到的SQL JOIN組合,但只得到一個名稱字段。

如果我嘗試使用不同的語句來獲取查詢,我在第二個查詢中也會得到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_iddept_idFacultydepartment表的外鍵,此查詢應為您提供所需的結果(將???替換為所需的matno搜索值):

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";

嘗試使用此左聯接,以便至少所有學生都在結果集中,然后從中選擇必填字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM