【问题标题】:sql - combining columns from different tablessql - 组合来自不同表的列
【发布时间】:2018-01-07 15:06:34
【问题描述】:

我有四个不同的表

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

在一个表中获取每个不同列的最简单方法是什么? 我知道我将从注册开始,获取 personID 和 Grade,将它们添加到结果表中,然后使用 personID 获取名称以及 classID,然后使用 classID 获取 className。我只是不知道该怎么做。

【问题讨论】:

  • 提示:JOINDISTINCT
  • 也可以是MySQLSQL Server,不能两者兼而有之吗?哪一个?删除不必要的标签。
  • 不清楚你想要什么。但是试试这个:SELECT * from class NATURAL JOIN schedule NATURAL JOIN person NATURAL JOIN enrollment.

标签: sql sql-server


【解决方案1】:

看来你需要这样的东西:

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;

【讨论】:

    猜你喜欢
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2015-03-05
    相关资源
    最近更新 更多