2013-02-27 55 views
0

我有從Oracle的某些表中獲取數據的問題; 表方案:ORACLE從3個表中選擇

學生(ID,NAME,YEAR)

MARKS(ID,CODE,MARK)

類(CODE,DEFINITION,YEAR)


學生> ID - PRIMARY KEY

商標>身份證號和密碼 - 都是鑰匙

類別代碼主鍵

正如你所看到的,有3(3)個表格,我想要得到學生參加的所有課程。例如,約翰有2個分數,只有2個班級,所以我想顯示學生的姓名和他參加的班級。

所以我必須將MARKS連接到CLASSES以獲得定義,然後將學生表連接到MARKS表。 我試圖創建一個子查詢,但它不能很好地工作。

任何幫助?根據您的表結構

+1

如何三個表之間的相互關係? 「MARKS」中的「CODE」列是「CLASSES」表中「CODE」列的外鍵嗎? 「MARKS」中的「ID」列是主鍵嗎?或者它是'STUDENTS'表中'ID'列的外鍵?你用子查詢嘗試了一些東西 - 發佈你試過的SQL語句,以及「不好用」的含義。你有錯誤嗎?你沒有得到你預期的結果嗎? – 2013-02-27 21:03:25

+0

我已添加密鑰。 – Varkaf 2013-02-27 21:09:49

回答

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 
+0

感謝bluefeet!我在考慮子查詢時太過努力。 – Varkaf 2013-02-27 21:13:57

+0

@Varkaf歡迎您。考慮通過左邊的複選標記接受答案,如果它對你有幫助。 :) – Taryn 2013-02-27 21:14:35