我的場景是這樣的。我需要提供學生的姓名和他們所學的特定成績的數量(在這種情況下爲A級)。考慮第一個查詢爲:SQL查詢需要計數記錄
SELECT studentID, fullname
FROM tblStudents
下一個查詢是:
SELECT studentID, grade, Count(grade) AS CountOfGrade
FROM tblResults
GROUP BY studentID, grade
HAVING grade="A";
我可以結合這些,這樣我可以通過加入查詢顯示A級爲每個學生數量:
SELECT tblStudents.studentID, tblStudents.fullname, tblResults.grade, Count(tblResults.grade) AS CountOfGrade
FROM tblStudents INNER JOIN tblResults ON tblStudents.studentID = tblResults.studentID
GROUP BY tblStudents.fullname, tblResults.grade
HAVING tblResults.grade="A";
但是它並沒有返回沒有成績A的學生的姓名,只有一個學生的成績至少爲1.我嘗試過一次左側連接,而不是INNER,但這似乎沒有幫助。
我該如何做到這一點,以便我也得到零計數?例如:
Name Grade GradeCount
Bob A 1
Jim A 0
Sarah A 4
etc
感謝。真的很有幫助,最後我到了那裏。出於興趣,你必須改變表名嗎? – RGriffiths