2017-06-06 49 views
0

對寫得不好的標題表示歉意。將SQL查詢合併到一個表上的值和從另一個表中選擇名稱

我有兩個表。持學生證和名稱,表B與學號,課程和課程表成本

我希望能夠查詢數據庫,這樣我就可以顯示學生姓名和到目前爲止花費在課程

美元總額我有這樣的:當我嘗試運行查詢

SELECT Student.fname, Student.lname, SUM(m.CourseCost) FROM 
    (SELECT DISTINCT StuID, CourseCost FROM Courses) AS m 
    INNER JOIN Student ON m.StuID = Student.ID; 

Visual Studio中拋出一個錯誤。我正在使用MS Access作爲數據庫。我覺得有什麼錯我的內心

+0

請告訴我的錯誤? – Codexer

+0

你正在使用聚合函數,你必須使用組 –

回答

0

您的查詢應該是

SELECT Student.fname, Student.lname, SUM(m.CourseCost) FROM 
    (SELECT DISTINCT StuID, CourseCost FROM Course) AS m 
    INNER JOIN Student ON m.StuID = Student.ID 
    group by Student.fname, Student.lname 

也可以通過另一種方式

select Student.fname, Student.lname, SUM(m.CourseCost) as CourseCost 
from Student 
inner join Course m on Student.ID = m.StuID 
group by Student.fname, Student.lname, m.StuID 
+0

是的,上帝,我是這樣的小白,我忘了集團的聲明.... –

0
select students.name , (select sum(cost) from course_details where student_id = students.id) as cost from students; 

請注意這樣做,這是一個PostgreSQL的查詢。我相信子查詢的概念是一樣的。

0

嘗試此查詢

SELECT fname+' '+lname Name,courseName , SUM(CourseCost) CourseCost 
    FROM Student 
    INNER JOIN Courses ON Courses.StuID = Student.ID 
    GROUP BY fname, lname ,courseName ; 
相關問題