最具体地说,我无法从 LibreOffice Base [HSQLdb] 返回按 (1) 班级、(2) 作业、(3) 学生姓氏组织的成绩列表。
我想要这个输出,这样我就可以运行一个脚本来将成绩从数据库复制到在线成绩册(没有 API [sadface])
我怀疑这个问题有几个可能的原因:
我的关系结构可能需要调整。
我不知何故需要实现一个“学生证”。在 Zaption 上,学生们在他们选择使用的任何“ZaptionName”下进行提交。然后,我在显示的第二个表中手动将 ZaptionName 与 RosterFullName 匹配。
Zaption 允许同一“学生”多次提交同一作业。因为允许多次提交,所以我运行 FilterLowMultiples 查询来为该学生选择该作业的最高成绩。
过滤器低倍数:
SELECT MAX( "Grade" ) "Grade", "RosterFullName",
"Assignment", MAX( "ZaptionName" ) "ZapName"
FROM "SelectAssignment"
GROUP BY "RosterFullName", "Assignment"
SelectAssignment 如下供参考:
SELECT "GradedAssignments"."Assignment", "Roster"."RosterFullName",
"GradedAssignments"."Grade", "ZaptionNames"."ZaptionName"
FROM "Roster", "ClassIndex", "GradedAssignments", "ZaptionNames"
WHERE "Roster"."Class" = "ClassIndex"."Class"
AND "GradedAssignments"."ZaptionName" = "ZaptionNames"."ZaptionName"
AND "ZaptionNames"."RosterFullName" = "Roster"."RosterFullName"
AND ( "GradedAssignments"."Assignment" = 'YouKnowWhatever')
我对 PullAssignmentGrades 的查询如下,但按作业排序失败,因为默认情况下没有作业,除非该学生提交了作业,因此该行为空白,该学生落在排序的底部,这对转移不利-我运行的在线脚本。
SELECT "Roster"."RosterFirstName", "ClassIndex"."Class",
"Roster"."RosterFullName", "ClassIndex"."ClassLevel",
"FilterLowMultiples"."Grade", "FilterLowMultiples"."ZapName",
"FilterLowMultiples"."Assignment", "FilterLowMultiples"."Grade",
"FilterLowMultiples"."Assignment", "ClassIndex"."ClassDisplayOrder",
"Roster"."RosterLastName"
FROM "ClassIndex", "FilterLowMultiples", "Roster"
ORDER BY "Roster"."RosterFirstName" ASC,
"FilterLowMultiples"."Grade" DESC,
"FilterLowMultiples"."Assignment" ASC,
"ClassIndex"."ClassDisplayOrder" ASC,
"Roster"."RosterLastName" ASC