0

我发现了如何在一张桌子内使用SUM和。GROUP BY我尝试做的是Marks.m_GPA根据第二个表 ( ) 中的字段对一个表中的一个字段 ( )求和Curriculum.[c_Subject Group]

我有一张表,其中包含名为的学生的所有结果,Marks另一张表名为Curriculum. 两个表都有共同的主题代码(c_Codem_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])),结果也是一个空表。

4

1 回答 1

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'
于 2013-03-02T02:30:05.890 回答