0

Oracle のいくつかのテーブルからデータを取得するというこの問題があります。テーブル スキーム:

学生(ID、名前、年)

マーク(ID、コード、マーク)

クラス (コード、定義、年)


STUDENTS> ID - 主キー

IN MARKS> ID と CODE - 両方が鍵

クラス内> コード - 主キー

ご覧のとおり、3 つのテーブルがあり、学生が出席するすべてのクラスを取得したいと考えています。たとえば、John は 2 つのクラスだけに 2 つのマークを持っているので、学生の名前と彼が出席しているクラスを表示したいと考えています。

したがって、MARKS を CLASSES に接続して Definition を取得し、次に STUDENTS テーブルを MARKS テーブルに接続する必要があります。サブクエリを作成しようとしましたが、うまくいきませんでした。

何か助けはありますか?

4

1 に答える 1

1

テーブル構造に基づいて、どのフィールドに結合するかは明確ではありませんが、次のようJOINなテーブルを作成できるはずです。

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
于 2013-02-27T21:04:10.313 に答える