2015-11-20 123 views
0

我有三個表,如下所述,我需要查詢。我理解簡單的JOIN,但是這個比我的水平略高一點。在MySQL中加入3個表(3深)

courses有兩列id (PK),和courseTitle(實施例1D 1,courseTitle物理)

classes有三列。 id (PK), courseID, startDate(courseID指表格課程中的id列)。

evals有很多列。 id (PK), classID, instructorID, .....

作爲一個最終的結果,我想我的SELECT查詢,直到結束:(基於classes.courseID) 所有evals列,加course.courseTitleclasses.startDate

我敢肯定我可以分兩步做到這一點,但我想以「正確」的方式做到這一點。

+1

請添加您的查詢,以顯示你的努力 –

+0

哪裏是你的數據庫..? 表名與列(s)...? 我們需要信息來解決您的問題...... :) –

回答

0

在連接兩個表同樣的邏輯也適用加入三隻與主ID列加入了他們兩次,當

select evals.*, courses.courseTitle, classes.startDate from 
evals inner join classes on evals.classId = classes.id 
Inner join courses on classes.courseId = courses.id 
0

你需要JOIN所有三個表一起使用他們的關係(主鍵/外鍵)。

顯示一個或多個colums可以通過指定TABLENAME.FIELDNAME來實現。 顯示都在一個表中的列,你需要指定TABLENAME.*

SELECT 
    course.courseTitle, 
    classes.startDate, 
    evals.* 
FROM 
    course 
JOIN 
    classes on course.id = classes.courseID 
JOIN 
    evals on evals.classID = classes.id