2017-07-31 50 views
-1

組合列之外我有四個不同的表SQL - 從不同的表

class(classID, className) 
person(personID, name) 
schedule(personID, classID) 
enrollment(personID, grade) 

什麼是一個表格讓每個不同列中的最簡單的方法? 我知道我會從註冊開始,獲取personID和成績,將它們添加到結果表中,然後使用personID獲取名稱以及classID,然後使用classID獲取className。我只是不知道該怎麼做。

+1

提示:'JOIN'和'DISTINCT'。 – Eric

+0

也可以是'MySQL'或'SQL Server',不能同時使用?哪一個?刪除不必要的標籤。 – Eric

+0

[多個表中的SQL SELECT]的可能重複(https://stackoverflow.com/questions/1416003/sql-select-from-multiple-tables) – Simon

回答

0

看來你需要的是這樣的:

SELECT p.name personName, e.grade, c.className 
    FROM person p 
    JOIN enrollment e ON e.personId = p.personId 
    JOIN schedule s ON s.personId = p.personId 
    JOIN class c ON c.classId = s.classId 
    WHERE p.personId = 1;