[英]How to use an inner join with group by or count function
我正在使用此SQL查詢從Access數據庫中獲取數據
SELECT Absence.date_, stages.name, course.course_name, student.name AS st_name
FROM (((Absence INNER JOIN course ON Absence.course_id = course.ID)
INNER JOIN stages ON course.id_stage = stages.ID)
INNER JOIN student ON Absence.student_id = student.ID AND stages.ID = student.stage_id`
當我不會將字段分組或獲取字段計數時,它會向我顯示此錯誤消息
試圖執行不包含指定表達式“ Absence.date_”作為聚合函數一部分的查詢
如何獲取行數,按st_name區分行號以及按階段名稱或課程名稱分組
為了獲得計數,您應該使用
SELECT Absence.date_, stages.name, course.course_name, student.name AS st_name, count(*)
FROM (((Absence INNER JOIN course ON Absence.course_id = course.ID)
INNER JOIN stages ON course.id_stage = stages.ID)
INNER JOIN student ON Absence.student_id = student.ID AND stages.ID = student.stage_id
GROUP BY Absence.date_, stages.name, course.course_name, student.name
哪個表包含“ Absence.date_”字段? 並且您無需指定“內部”(或自然)。
使用聚合函數(Count(),Sum()等)時,分組依據必須包含與select語句相同的字段列表。 並且該錯誤表明Absence.date_在from子句的任何表中都不作為字段存在。 但是,您的查詢中沒有Group By語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.