sql-组合来自不同表的列
我有四张不同的桌子sql-组合来自不同表的列,sql,sql-server,Sql,Sql Server,我有四张不同的桌子 class(classID, className) person(personID, name) schedule(personID, classID) enrollment(personID, grade) 在一个表中获取每个不同列的最简单方法是什么? 我知道我会从注册开始,获取personID和grade,将它们添加到结果表中,然后使用personID获取名称和classID,然后使用classID获取类名。我只是不知道该怎么做。看来你需要这样的东西: SELECT p
class(classID, className)
person(personID, name)
schedule(personID, classID)
enrollment(personID, grade)
在一个表中获取每个不同列的最简单方法是什么?
我知道我会从注册开始,获取personID和grade,将它们添加到结果表中,然后使用personID获取名称和classID,然后使用classID获取类名。我只是不知道该怎么做。看来你需要这样的东西:
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;
提示:
JOIN
和DISTINCT
。它也可以是MySQL
或SQL Server
,不能两者都是?是哪一个?删除不必要的标签。可能重复的标签不清楚您想要什么。但是试试这个:SELECT*from class NATURAL JOIN schedule NATURAL JOIN person NATURAL JOIN registration
。