簡體   English   中英

如何通過分組或計數功能使用內部聯接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM