3 つのテーブルを結合しており、これらの結合されたテーブルからいくつかのフィールドを返すクエリを作成したいと考えています。確認する必要がある条件があります。それは、1 人のユーザーのみに固有の行数です。
より正確かつ明確にするために、私のテーブルは次のようになります。
tblTest
------------------------------
TestID | StudentID | TestType
------------------------------
tblTestType
---------------------------
TestType | TestName
---------------------------
tblStudents
-------------------------------
StudentID | StudentName | Sex
-------------------------------
初めて試験に合格した学生のリストを取得しようとしています (したがって、「tblTest」の結果の行数は、ユーザーが試験を受けて合格したという事実を示すために 1 に等しい必要があります。これは、学生がその試験を複数回受けたことを意味します)、私のクエリは次のようになります。
SELECT tblStudents.StudentName, COUNT(tblTest.StudentID) AS [Number of Times Exame is Taken], tblTest.TestID
FROM tblTest INNER JOIN
tblTestType ON tblTest.TestID = tblTestType.TestType INNER JOIN
tblStudents ON tblTest.StudentID =tblStudents.StudentID
GROUP BY tblTest.StudentID, tblTest.TestID
HAVING (tblTest.TestID = 1)
これは失敗します。誰かがこれを行う正しい方法を教えてもらえますか?