Umgang mit SQL-Befehlen

Fragen zu Funktionen, die es nicht in Schild-NRW gibt und die den Unterschied zu SchILD-NRW betreffen

Moderatoren: Raffenberg, A. Schüller, Pfotenhauer

Antworten
t.rupprecht
Beiträge: 144
Registriert: Dienstag 4. Dezember 2018, 08:45
Schulform: Gesamtschule

Umgang mit SQL-Befehlen

Beitrag von t.rupprecht »

Bei uns wurde vor kurzem von Schild-NRW auf Schild-Zentral umgestellt. Das meiste funktioniert wie früher, manches aber auch nicht.
Zur Filterung bestimmter Schülergruppen benutze ich seit langem bestimmte (als Textdatei mit Endung .sql abgelegte) SQL-Befehle, die ich vor Jahren mit Hilfe aus dem Forum zusammenstellen konnte. Solche SQL-Befehle konnte ich in Schild an zwei Stellen laden und ausführen. Entweder im Menü
"Extras-->SQL Befehle ausführen" oder über "Auswahl-->Flter II", dann mit dem Button "Aus Datei laden".

Beides führt aktuell in Schild-Zentral zu Fehlermeldungen.
Der Menüpunkt "SQL-Befehle ausführen" ergibt die Fehlermeldung Ungültiger Spaltenname "SchulnrEigner".
Über Filter II kann ich eine SQL-Datei zwar laden, beim Klick auf Testen erscheint dann aber eine Fehlermeldung wie "Ungültiger Spaltenname 09", siehe angehängten Screenshot. In dem Screenshot ist auch (als Beispiel) der eigentliche SQL-Befehl zu sehen, welcher mir früher die Schüler ausgeworfen hat, die aktuell in den Jahrgängen 07, 08 und 09 im Mathematik-E-Kurs sind. (Dadurch musste ich nicht jedesmal die Filterkriterien in Filter I neu eingeben.)

Muss vielleicht für die Nutzung in Schild-Zentral die Syntax des Befehls geändert werden? Oder kann jemand Ratschläge zum Umgang mit SQL-Befehlen in Schild-Zentral geben? (Ich habe nämlich noch andere für uns wichtige SQL-Befehle, auf die ich nicht verzichten möchte.)
Dateianhänge
M_EK_07-09.txt
(772 Bytes) 105-mal heruntergeladen
fehler_filter2.jpg
fehler_filter2.jpg (173.53 KiB) 1469 mal betrachtet
Mit freundlichen Grüßen
Thomas Rupprecht
GE Schwerte
Beiträge: 1731
Registriert: Montag 3. Dezember 2018, 10:28
Wohnort: Schwerte
Schulform: Gesamtschule

Re: Umgang mit SQL-Befehlen

Beitrag von GE Schwerte »

Versuchen Sie mal die Anführungszeichen (z.B. "09") in der gesamten Abfrage durch Hochkommata ('09') zu ersetzen.
Keine Akzente (´oder `) verwenden!
Benutzeravatar
Falko Müller
Fachberater*in
Beiträge: 1185
Registriert: Donnerstag 4. Oktober 2018, 20:23
Schulform: Gymnasium

Re: Umgang mit SQL-Befehlen

Beitrag von Falko Müller »

Hallo,
grundsätzlich muss bei SQL-Anfragen in SchildZentral die Schulnummer (als SchulnrEigner) eingetragen werden, da in der Datenbank ja alle Schulen des Schulträgers enthalten sind, und man nur Zugriff auf seine Schule haben darf.
Im Übrigen kann man im Filter I ja die Suchkriterien speichern, so dass man die jedes Jahr über "Auswahl -> vorhandene Filterdefinition laden" wieder aufrufen kann.
Wenn ich eine Abfrage benötige, die ich nicht genau im Filter I abbilden kann, helfe ich mir immer mit folgendem Workaround:
Ich klicke mir in Filter I Kriterien zusammen, die möglichst nah an meinem Ziel liegen, und speichere den Filter ab.
Dann öffne ich diesen gespeicherten Filter im Filter II ("Öffnen") und erhalte die korrekte SQL-Syntax, die ich dann anpassen kann.
Vielleicht hilft das bei Ihnen ja auch.
Freundliche Grüße
Falko Müller
t.rupprecht
Beiträge: 144
Registriert: Dienstag 4. Dezember 2018, 08:45
Schulform: Gesamtschule

Re: Umgang mit SQL-Befehlen

Beitrag von t.rupprecht »

Danke für die Tipps, die ich ausprobieren werde.
Mit Bezug auf den ersten Hinweis von Herrn Müller: Kann man denn diese Angabe der Schulnummer in den SQL-Befehl integrieren?
Das mit den gespeicherten Filterdefinitionen als Workaround klingt aber auch vielversprechend.
Mit freundlichen Grüßen
Thomas Rupprecht
Benutzeravatar
jflothow
Beiträge: 150
Registriert: Donnerstag 7. Februar 2019, 17:10
Schulform: Gymnasium

Re: Umgang mit SQL-Befehlen

Beitrag von jflothow »

Bei uns (SchILDzentral) geht es ohne Angabe der Schulnummer. Diese wird aber "im Hintergrund" automatisch ergänzt, so weit ich das in Erinnerung habe. Zumindest erhalte ich auch immer nur SuS unserer Schule.
Benutzeravatar
Falko Müller
Fachberater*in
Beiträge: 1185
Registriert: Donnerstag 4. Oktober 2018, 20:23
Schulform: Gymnasium

Re: Umgang mit SQL-Befehlen

Beitrag von Falko Müller »

t.rupprecht hat geschrieben: Freitag 13. Juni 2025, 12:47 Kann man denn diese Angabe der Schulnummer in den SQL-Befehl integrieren?
Bestimmt, wenn man die Syntax kennt...
soweit ich das mit meinen rudimentären Kenntnissen sehe, muss man im "Where" statement für jede Tabelle ergänzen (z.B. wenn man Schueler und Kurse verwendet):
... and Schueler.SchulnrEigner=123456 and Kurse.SchulnrEigner=123456 ...
usw.
Freundliche Grüße
Falko Müller
t.rupprecht
Beiträge: 144
Registriert: Dienstag 4. Dezember 2018, 08:45
Schulform: Gesamtschule

Re: Umgang mit SQL-Befehlen

Beitrag von t.rupprecht »

Aufbauend auf den Hinweis von Herrn Müller habe ich mir die Möglichkeiten unter "Filter I" nochmal genauer angesehen.
Es gibt zwei Möglichkeiten, einmal aufgerufene Filter-Vorgänge zu speichern:

1.) Mit der Schaltfläche "Speichern" können die aktuell eingestellten Filterkriterien mit einem selbst angegebenen Namen in einer Liste abgelegt werden. Über das Schild-Menü "Auswahl" können die abgespeicherten Kriterien über den Menüpunkt "Vorhandene Filterdefinition laden" wieder aufgerufen werden, wobei dann nach Anklicken aber der Filtervorgang sofort ausgeführt wird. Nachteil: Die Filterkriterien können nicht nachträglich editiert werden, man kann sie nicht in das "Hauptfenster" von Filter I laden, um dann z.B. Lernabschnittsdaten anzupassen.

2. Mit der Schaltfläche "In Datei speichern": Damit wird eine Textdatei (Endung txt oder sql) erzeugt, welche wie ein SQL-Befehl aufgebaut ist. Diese lässt sich unter "Filter II --> Aus Datei laden" öffnen. Durch Probieren habe ich herausgefunden, dass man die am Ende stehende Anweisung ab "ORDER BY..." löschen muss, damit der Filtervorgang anschließend durch Klick auf "Testen" korrekt ausgeführt wird. Unter Schild-Zentral ist sogar die notwendige Schulnummer im Filterbefehl angegeben. Nachteil: Auch dieser Fltervorgang bezieht sich nur auf ein konkretes Quartal und müsste bei späterer Wiederverwendung entsprechend angepasst werden.

Ich hänge den mit Methode 2 erstellten Beispiel-Befehl (Schüler aus Jahrgang 7, 8 und 9 im Mathe-EK) einmal hier (mit Endung txt) an, verbunden mit der Frage: Kann die Syntax des Befehls so abgeändert werden, dass sich der Filtervorgang auf den zum Zeitpunkt des Aufrufs aktuellen Abschnitt bezieht (statt ausschließlich auf Schuljahr 2024, Abschnitt 4)?
Dateianhänge
m-ek-07-08-09 Version2.txt
(711 Bytes) 49-mal heruntergeladen
Mit freundlichen Grüßen
Thomas Rupprecht
Antworten