在SQL假設我們有一個名爲 '課程' courses_taken你如何使一個單元格的值相對於另一個表格?
課程
c_id key int
name text
credits int
學生
s_id key int
name text
total_credits int
courses_taken
id key int
s_id foreign int
c_id foreign int
我的表,「學生, ''希望使total_credits字段基本上等於
select sum(c.credits) from courses c, students s, courses_taken ct where ct.c_id = courses.c_id and ct.s_id = s.s_id;
,我假設的心不是這樣做,因爲我從來沒有用多表查詢工作之前,如果有人可以幫助我與SQL查詢的正確的方法,以及這將是巨大的。謝謝
如果我要擺脫總學分字段,是否可以查詢學生(從學生中選擇*)並將總學分總和加入到結尾? – 2014-11-06 20:44:53
select * from( select s.s_id,s.name,sum(c.credits)from course c,students s,courses_taken ct where ct.c_id = courses.c_id和ct.s_id = s.s_id GROUP BY s。 s_id) 其中s_id = 0;這會工作嗎? – 2014-11-06 20:58:53
我的答案中的查詢將會列出所有學生姓名及其學分總數。你可以在where子句中添加AND s_id = 0,不需要子查詢。 – andy 2014-11-06 21:03:24