2016-05-30 37 views
0

我有3個表格:Student,Course和StudentCourse,它們具有來自其他表格的id對以顯示哪些學生正在服用什麼課程。基於來自另一個表的無關字段從一個表中選擇字段(具有id值的橋錶鏈接它們)

我試圖顯示一個課程中註冊的學生列表,但我不知道如何在單個SQL語句中傳達該列表。

下面的代碼只是爲了顯示我想要做的事情,分成3個語句。

int cId =「select name from course where name = someName」;

int sId =「select StudentId from StudentCourse where courseId =」+ cId;

最後陳述:從學生選擇名稱,其中studentId =」 + SID;

對不起,noob問題,我沒有真正嘗試尋找解決的辦法,但不能完全找到我一直在尋找

回答

1

可以使用JOIN子句做到這一點,下面是一個例子,但它可以幫助您提供表格的實際定義以及您迄今爲止嘗試的任何查詢,以及一些示例表格數據和您的示例期待輸出...

select s.Name 
from Student s 
join StudentCourse sc 
on sc.StudentId = s.StudentId 
join Course c 
on c.CourseId = sc.CourseId 
where c.CourseId = 123; 

這是在查詢中使用JOIN子句的基礎知識。不過,如果我們有實際的表結構和一些示例數據,這將有所幫助。

如果你有CourseId,那麼你並不真的需要加入Course表,如果CourseId包括在StudentCourse表,但如果你需要使用別的僅位於該Course表中選擇除了主鍵(CourseId),那麼你需要加入它。

+0

謝謝你,工作!我確實需要加入課程表,以及我選擇的課程名稱,而不是ID。 – slash

相關問題