我找到了如何在一个表格中使用SUM
和GROUP BY
。我尝试做的是根据第二个表(Marks.m_GPA
)中的字段在一个表中求和一个字段(Curriculum.[c_Subject Group]
)。
我有一个表格,其中包含名为Marks
的学生的所有结果以及另一个名为Curriculum
的表格。两个表都有共同的主题代码(c_Code
和m_Code
),Curriculum
表有一个字段[c_Subject Group]
。我想得到每个m_GPA
的所有[c_Subject Group]
值和结果GROUP BY [c_Subject Group]
的总和。
所有字段都是字符串(文本)。
这是一个ADO SQL VB6应用程序,我使用Access的MS Jet引擎。我通常尝试使用Access运行查询来预先测试查询,ACCESS似乎接受我的语法,但结果是一个空表。
以下是查询:
SELECT
Curriculum.[c_Subject Group],
Sum([m_GPA]) AS Total_GPA
FROM Curriculum
INNER JOIN Marks ON
Curriculum.c_Code = Marks.m_Code
WHERE Curriculum.[c_Subject Group]= "1"
GROUP BY Curriculum.[c_Subject Group];
即使我尝试Sum(cdbl(Marks.[m_GPA]))
,结果也是一张空表。
答案 0 :(得分:1)
试试这个。
SELECT
Curriculum.[c_Subject Group],
Marks.Total_GPA
FROM Curriculum
LEFT JOIN (
SELECT
m_Code,
Sum([m_GPA]) AS Total_GPA
FROM Marks
GROUP BY m_Code
)Marks
ON Curriculum.c_Code = Marks.m_Code
WHERE Curriculum.[c_Subject Group]= '1'