sql-Elternexport für IServ
Moderatoren: A. Schüller, Raffenberg, Pfotenhauer
- Raffenberg
- Beiträge: 3040
- Registriert: Dienstag 25. September 2018, 15:22
- Schulform: Gymnasium
- Kontaktdaten:
Re: sql-Elternexport für IServ
In IServ werden alle Schüler mit einer ID angelegt. Hierzu wird entweder die in Schild übliche GUID importiert. Bei einem späteren Abgleich der Daten zwischen Schild und IServ wird diese GUID/ID verwendet.
Damit die erzieherdaten dementsprechenden Schüler zugeordnet werden können, muss ebenfalls diese GUID bzw ID übergeben werden.
Aus dem Kopf heraus: sie müssen in der Where-Klausel folgendes ergänzen:
ErhaeltAnschreiben = '+'
Damit die erzieherdaten dementsprechenden Schüler zugeordnet werden können, muss ebenfalls diese GUID bzw ID übergeben werden.
Aus dem Kopf heraus: sie müssen in der Where-Klausel folgendes ergänzen:
ErhaeltAnschreiben = '+'
Mit freundlichen Grüßen
Jens Raffenberg
Jens Raffenberg
Re: sql-Elternexport für IServ
Hallo,
danke schön für die schnelle Hilfe.
Hier der erweiterte Befehl, so dass nur Erzieher aufgeführt werden, die ein Anschreiben erhalten:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Order By s.ID
danke schön für die schnelle Hilfe.
Hier der erweiterte Befehl, so dass nur Erzieher aufgeführt werden, die ein Anschreiben erhalten:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Order By s.ID
Re: sql-Elternexport für IServ
Hallo nochmal,
neues Jahr - neue Frage
:
Dieser Befehl hat letztes Jahr gut funktioniert:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Order By s.ID
Frage:
Gibt es eine Möglichkeit den Befehl so zu erweitern, dass er nur Erzieher ausgibt, die zu einem Kind gehören, welches aktuell in der Jahrgangsstufe 5 ist?
Vielen lieben Dank schonmal im Voraus!
Lg
neues Jahr - neue Frage
Dieser Befehl hat letztes Jahr gut funktioniert:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+')
Order By s.ID
Frage:
Gibt es eine Möglichkeit den Befehl so zu erweitern, dass er nur Erzieher ausgibt, die zu einem Kind gehören, welches aktuell in der Jahrgangsstufe 5 ist?
Vielen lieben Dank schonmal im Voraus!
Lg
-
011marTusch
- Beiträge: 338
- Registriert: Montag 3. Dezember 2018, 19:50
- Schulform: - keine Schule -
Re: sql-Elternexport für IServ
Hallo,
damit bekomme ich ein Ergebnis:
Meine Testdatenbank ist allerdings etwas struppig. Daher bitte auf Plausibilität prüfen.
damit bekomme ich ein Ergebnis:
Code: Alles auswählen
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and e.ErzAnschreiben = '+' and s.Jahrgang=5)
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and e.ErzAnschreiben = '+' and s.Jahrgang=5)
Order By s.IDViele Grüße aus Wuppertal
Ottmar Tusch
Pensionist
Ottmar Tusch
Pensionist
Re: sql-Elternexport für IServ
Hallo,
vielen lieben Dank. Das hat mir sehr geholfen!
Ich musste den Befehl nur noch minimal abändern. Denn s.Jahrgang gibt wohl die Schulbesuchsjahre an und nicht den Jahrgang. Hierfür habe ich ASDJahrgang verwendet.
So funktioniert er bei mir:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+' and ASDJahrgang='05')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+' and ASDJahrgang='05')
Order By s.ID
Lg M. Ado
vielen lieben Dank. Das hat mir sehr geholfen!
Ich musste den Befehl nur noch minimal abändern. Denn s.Jahrgang gibt wohl die Schulbesuchsjahre an und nicht den Jahrgang. Hierfür habe ich ASDJahrgang verwendet.
So funktioniert er bei mir:
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+' and ASDJahrgang='05')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and ErzAnschreiben = '+' and ASDJahrgang='05')
Order By s.ID
Lg M. Ado
-
K. Berger
- Beiträge: 41
- Registriert: Montag 27. Mai 2019, 13:54
- Wohnort: Duisburg
- Schulform: Gymnasium
Re: sql-Elternexport für IServ
Hallo,
ich habe den sql-Befehl von oben für unsere Bedürfnisse angepasst, er funktioniert lokal mit einer Testdatenbank und einer nicht ganz aktuellen SchILD-Version (mdb-Datenbank) problemlos:
In der Schule (2.0.34.2, SQL-Datenbank) erhalte ich folgende Fehlermeldung:"Fehler bei der Ausführung: Incorrect syntax near the keyword 'union'".
Wer weiß Rat?
Viele Grüße
Kay Berger
ich habe den sql-Befehl von oben für unsere Bedürfnisse angepasst, er funktioniert lokal mit einer Testdatenbank und einer nicht ganz aktuellen SchILD-Version (mdb-Datenbank) problemlos:
Code: Alles auswählen
Select * From
(select s.ID AS SID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID, e.ErzAnschreiben From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname1 <> '' and e.Name1 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and e.ErzAnschreiben='+')
Union All
(select s.ID AS SID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID, e.ErzAnschreiben From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where e.Vorname2 <> '' and e.Name2 <> '' and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and s.Status=2 and e.ErzAnschreiben='+')
Order By SIDWer weiß Rat?
Viele Grüße
Kay Berger
-
waedt
- Fachberater*in
- Beiträge: 230
- Registriert: Dienstag 4. Dezember 2018, 08:37
- Schulform: Realschule
Re: sql-Elternexport für IServ
Hallo,
wir exportieren und nutzen Excel mit Query-Abfragen um die Daten für iServ vorzubereiten:
1. Alle SuS müssen sichtbar sein (keine Filter!)
2. Datenaustausch - Export in Text/Excel-Datei - Exportieren
3. Alle Eltern (1. und 2. Person) wie folgt exportieren
- Vorlage laden "Export 1. Person aus Schild nach iServ" und exportieren
- Vorlage laden "Export 2. Person aus Schild nach iServ" und exportieren
5. Die Excel-Datei "Erzieher" öffnen und mit Query-Abfragen in den Mappen Erzieher01, Erzieher02 und Erzieher aktualisieren
7. In der Mappe Erzieher stehen dann alle Erzieher untereinander nach Schüler-ID sortiert
8. In die Mappe Export wechseln
- prüfen, ob in der Tabelle alle Zeilen aus der Mappe Erzieher verknüft wurden
- Die Excel-Tabelle speichern
- Die Daten aus der Mappe Export als CSV-Datei speichern in der Datei "Erzieher.csv"
Diese csv-Datei wird in iServ importiert
9 Nach iServ wechseln
10 Die csv-Datei der Eltern mit dem Eltern-Import-Profil importieren
wir exportieren und nutzen Excel mit Query-Abfragen um die Daten für iServ vorzubereiten:
1. Alle SuS müssen sichtbar sein (keine Filter!)
2. Datenaustausch - Export in Text/Excel-Datei - Exportieren
3. Alle Eltern (1. und 2. Person) wie folgt exportieren
- Vorlage laden "Export 1. Person aus Schild nach iServ" und exportieren
- Vorlage laden "Export 2. Person aus Schild nach iServ" und exportieren
5. Die Excel-Datei "Erzieher" öffnen und mit Query-Abfragen in den Mappen Erzieher01, Erzieher02 und Erzieher aktualisieren
7. In der Mappe Erzieher stehen dann alle Erzieher untereinander nach Schüler-ID sortiert
8. In die Mappe Export wechseln
- prüfen, ob in der Tabelle alle Zeilen aus der Mappe Erzieher verknüft wurden
- Die Excel-Tabelle speichern
- Die Daten aus der Mappe Export als CSV-Datei speichern in der Datei "Erzieher.csv"
Diese csv-Datei wird in iServ importiert
9 Nach iServ wechseln
10 Die csv-Datei der Eltern mit dem Eltern-Import-Profil importieren
MfG
J. Waedt
J. Waedt
- Raffenberg
- Beiträge: 3040
- Registriert: Dienstag 25. September 2018, 15:22
- Schulform: Gymnasium
- Kontaktdaten:
Re: sql-Elternexport für IServ
Copilot meldet folgendes hierzu:
Es scheint, dass die SQL-Syntax in einer SQL-Datenbank etwas anders ist als in Access. Hier sind einige Anpassungen, die du vornehmen kannst, um die Abfrage in einer SQL-Datenbank korrekt auszuführen:
1. **Klammern um die Union-Abfragen**: SQL-Datenbanken benötigen oft Klammern um die einzelnen Abfragen, die durch `UNION` verbunden sind.
2. **Alias für die Union-Abfrage**: Manchmal hilft es, der gesamten Union-Abfrage einen Alias zu geben.
Hier ist eine angepasste Version deiner Abfrage:
Versuche diese Anpassungen und lass mich wissen, ob es funktioniert!Code: Alles auswählen
SELECT * FROM ( (SELECT s.ID AS SID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID, e.ErzAnschreiben FROM SchuelerErzAdr AS e INNER JOIN Schueler AS s ON s.ID = e.Schueler_ID WHERE e.Vorname1 <> '' AND e.Name1 <> '' AND e.erzieherart_ID <> 3 AND e.erzieherart_ID <> 4 AND s.Status = 2 AND e.ErzAnschreiben = '+') UNION ALL (SELECT s.ID AS SID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID, e.ErzAnschreiben FROM SchuelerErzAdr AS e INNER JOIN Schueler AS s ON s.ID = e.Schueler_ID WHERE e.Vorname2 <> '' AND e.Name2 <> '' AND e.erzieherart_ID <> 3 AND e.erzieherart_ID <> 4 AND s.Status = 2 AND e.ErzAnschreiben = '+') ) AS UnionQuery ORDER BY SID;
Mit freundlichen Grüßen
Jens Raffenberg
Jens Raffenberg
-
Frodermann
- Fachberater*in
- Beiträge: 957
- Registriert: Montag 29. Oktober 2018, 20:45
- Schulform: Gesamtschule
- Motto: Keine Panik
Re: sql-Elternexport für IServ
Ahaaha, der Herr Chatbot ist nun auch Fachberater hier. 
Sachlicher Beitrag: Bei SQL-Dialekten (untereinander und/oder zu MS Access) unterscheiden sich auch manchmal die zu verwendenden Anführungszeichen " oder ' oder... das wäre dann ebenfalls anzupassen.
Sachlicher Beitrag: Bei SQL-Dialekten (untereinander und/oder zu MS Access) unterscheiden sich auch manchmal die zu verwendenden Anführungszeichen " oder ' oder... das wäre dann ebenfalls anzupassen.
mit freundlichen Grüßen
Felix Frodermann
Fachberatung, Moderation & SVWS-Dokumentation - Korrekturen oder Wünsche bezüglich des Wikis und der SVWS-Webclient-Doku können Sie mir gerne über die hier im Forum hinterlegte Emailadresse zukommen lassen.
Felix Frodermann
Fachberatung, Moderation & SVWS-Dokumentation - Korrekturen oder Wünsche bezüglich des Wikis und der SVWS-Webclient-Doku können Sie mir gerne über die hier im Forum hinterlegte Emailadresse zukommen lassen.
-
nilleholger
- Beiträge: 28
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
Wir arbeiten seit Jahren mit dieser Lösung gut:
Allerdings werden zu SuS, die in SchiLD als volljährig deklariert wurden, die Eltern nicht mehr exportiert und sind daher in iServ auch nich mehr zu erreichen. Dennoch wollen wir die Eltern aber weiter über Elternbreife erreichen (um über Schulfeste, Busausfälle, Abschlussfeiern und dergleichen zu informieren). Ich habe den Code also wie folgt angepasst:
Aber nun werden mir die volljährigen SuS als ihre eigenen Eltern exportiert, was beim iServ-Import der ELtern nicht hilfreich ist.
Kann ich SchILD weiter überzeugen, mir auch die Eltern volljähriger SuS zu exportieren?
Code: Alles auswählen
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where Geloescht <> '+' and e.Vorname1 <> '' and e.Name1 <> '' and s.Status=2 and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where Geloescht <> '+' and e.Vorname2 <> '' and e.Name2 <> '' and s.Status=2 and e.erzieherart_ID <> 3 and e.erzieherart_ID <> 4 and ErzAnschreiben = '+')
Order By s.IDCode: Alles auswählen
Select * From
(select s.ID, e.Name1, e.Vorname1, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where Geloescht <> '+' and e.Vorname1 <> '' and e.Name1 <> '' and s.Status=2 and ErzAnschreiben = '+')
Union All
(select s.ID, e.Name2, e.Vorname2, e.ErzStrasse, e.ID From SchuelerErzAdr as e
Inner Join Schueler as s on s.ID = e.Schueler_ID
Where Geloescht <> '+' and e.Vorname2 <> '' and e.Name2 <> '' and s.Status=2 and ErzAnschreiben = '+')
Order By s.IDKann ich SchILD weiter überzeugen, mir auch die Eltern volljähriger SuS zu exportieren?