Insbesondere habe ich Probleme, von LibreOffice Base [HSQLdb] eine Liste von Noten von (1) Klasse, (2) Zuordnung, (3) Nachnamen des Schülers organisiert zurückzukehren.Graded Assignment [Zaption] Datenbank
Ich möchte diese Ausgabe so kann ich ein Skript ausführen, die Noten aus der Datenbank zu einem Online-Notenbuch zu kopieren (was nicht eine API hat [sadface])
ich mehrere mögliche Ursachen für dieses Problem vermuten:
My relational structure kann Zwicken müssen.
Ich muss irgendwie eine "Studenten-ID" implementieren. Auf Zaption stellen die Schüler ihre Einsendungen unter dem von ihnen gewählten "ZaptionName" zur Verfügung. Dann passe ich manuell ZaptionName an RosterFullName in der zweiten angezeigten Tabelle an.
Zaption erlaubt mehrere Einreichungen vom gleichen "Schüler" für die gleiche Aufgabe. Da mehrere Übermittlungen zulässig sind, führe ich eine FilterLowMultiples-Abfrage aus, um die höchste Bewertung für diese Aufgabe für diesen Schüler auszuwählen.
FilterLowMultiples:
SELECT MAX("Grade") "Grade", "RosterFullName",
"Assignment", MAX("ZaptionName") "ZapName"
FROM "SelectAssignment"
GROUP BY "RosterFullName", "Assignment"
SelectAssignment ist unten als Referenz:
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')
Meine Abfrage PullAssignmentGrades ist wie folgt, aber nicht durch Abtretung Sortierung, da es standardmäßig keine Zuordnung ist es sei denn, dieser Student hat einen eingereicht, also ist die Zeile leer und der Student fällt auf den unteren Rand der Sortierung, was für das von mir ausgeführte Online-Transfer-Skript schlecht ist.
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
Können Sie ein minimal noch umfassendes Beispiel der gewünschten Ausgabe liefern einschließlich Sortierung. , und Eckfälle wie fehlende Zuordnung Noten)? Wenn das Ausgabebeispiel nicht selbst beantwortet, warum es für Ihr Übertragungsskript schlecht ist, dass die Schüler auf den Grund der Sortierung fallen, dann wäre diese Logik gut zu wissen. – Thernys
Absolut! Für eine einzelne Zuweisung Abfrage, hier ist meine [aktuelle Ausgabe] (http://i.imgur.com/szReIL7.png), kopiert und in Calc eingefügt, und hier ist meine [gewünschte Ausgabe] (http: // i. imgur.com/wI0u9Il.png). Das funktioniert gut genug. –
Das Problem für mich entsteht, wenn ich zwei oder mehr Zuordnungsabfragen habe, entweder [interwoven] (http://i.imgur.com/Pit8nSb.png), so dass ich nicht einfach die Ausgabe in das Web-Zensuren-Skript kopieren konnte oder wenn Nicht-Übergeber "nach unten" [(eigentlich oben)] fallen (http://i.imgur.com/eL7uhdC.png), was auch die Skript-Kopie stört, da die Zeilen des Web-Notenbuchs alphabetisch geordnet sind. –