2017-07-31 66 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;