0

1つのテーブル内でSUM使用する方法を見つけました。GROUP BY私がやろうとしているMarks.m_GPAのは、2 番目のテーブル ( ) のフィールドに応じて、1 つのテーブルの 1 つのフィールド ( )を合計することですCurriculum.[c_Subject Group]

という名前の学生のすべての結果を含む 1 つのテーブルと、 という名前Marksの別のテーブルがありますCurriculum。両方のテーブルには共通のサブジェクト コードがあり (c_Codeおよびm_Code)、Curriculumテーブルには 1 つのフィールドがあります[c_Subject Group]m_GPAeach[c_Subject Group]と resultsのすべての値の合計が必要ですGROUP BY [c_Subject Group]

すべてのフィールドは文字列 (テキスト) です。

これは、Access の MS Jet エンジンを使用する ADO SQL VB6 アプリケーションです。私は通常、事前にクエリをテストするために 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 に答える