Sql ORACLE从3个表中选择

Sql ORACLE从3个表中选择,sql,oracle,subquery,Sql,Oracle,Subquery,我遇到了从Oracle中的某些表获取数据的问题; 表格方案: 学生ID、姓名、年份 标记ID、代码、标记 类别代码、定义、年份 在学生>ID中-主键 在标记>ID和代码中-都是键 在类>代码-主键中 正如你所看到的,有三张桌子,我想要一个学生参加的所有课程。例如,John只有2节课有2分,所以我想显示学生的姓名和他参加的课程 因此,我必须将分数连接到类以获得定义,然后将学生表连接到分数表。 我试图创建一个子查询,但效果不好 有什么帮助吗?根据您的表结构,不清楚您加入的字段是什么,但您应该能够加入

我遇到了从Oracle中的某些表获取数据的问题; 表格方案:

学生ID、姓名、年份

标记ID、代码、标记

类别代码、定义、年份

在学生>ID中-主键

在标记>ID和代码中-都是键

在类>代码-主键中

正如你所看到的,有三张桌子,我想要一个学生参加的所有课程。例如,John只有2节课有2分,所以我想显示学生的姓名和他参加的课程

因此,我必须将分数连接到类以获得定义,然后将学生表连接到分数表。 我试图创建一个子查询,但效果不好


有什么帮助吗?

根据您的表结构,不清楚您加入的字段是什么,但您应该能够加入类似以下内容的表:

select s.name,
  m.mark,
  c.definition
from students s
inner join marks m
  on s.id = m.id
inner join classes c
  on m.code = c.code

这三张表是如何相互关联的?标记中的代码列是否是类表中代码列的外键?标记中的ID列是主键吗?或者它是学生表中ID列的外键?您尝试了使用子查询的方法—发布您尝试过的SQL语句,并说明哪些语句不起作用。你有错误吗?您没有得到您期望的结果吗?我已经添加了密钥。@Varkaf不客气。如果它对你有帮助,请考虑通过它左边的复选标记来接受答案。