2014-03-26 92 views
-1

有三個表的數量(學生,年級,課程)MySQL查詢返回學分

table1: students 
Name , Id 
Joseph, 1 
David , 2 

table2: grade 
Id(fk of students.id) , Course(fk of course.courseName),Grade 
1 , math101 , A 
1 , math103 , B 
1 , eng201 , A 
2 , eng201 , B 
2 , math103, B 

table3: course 
courseName , credits 
math101 , 3 
math103 , 4 
eng201 , 3 

我想每個名稱與學分總數,他/她賺

QUERY... 
result --> 

ID,NAME,TotalCredit 
1,Joseph,10 
2,David,7 
+0

這是一個功課題嗎? –

+0

不完全相同作業 作出我自己的,將操作在hw –

+0

而我不知道爲什麼人們不喜歡這個問題 –

回答

1

試試這個:

SELECT s.id, s.name, sum(c.credits) 
    FROM students as s 
LEFT JOIN grade as g on s.id = g.id 
LEFT JOIN course as c on g.course = c.courseName 
GROUP BY s.id, s.name 
+0

沒有GROUP BY子句,組函數/單值函數/標量函數就無法工作:) – Tiny

+0

@它可以,但在這種情況下我錯過了一個GROUP BY。編輯!謝謝 –