sql-Elternexport für IServ
Moderatoren: Raffenberg, A. Schüller, Pfotenhauer
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
sql-Elternexport für IServ
Hallo zusammen
es gibt für Schild ja grundsätzlich eine Doku zu den SQL-Befehlen, die ich mal erhalten habe: https://github.com/SVWS-NRW/SVWS-DB-Scr ... .mysql.sql
Gäbe es die Möglichkeit (für den iServ-Elternimport) EINE Tabelle mit beiden Elternteilen in getrennten Zeilen mit der jeweiligen Kind-ID zu generieren?
Bsp der Zieltabelle
123. Tim Toll Bergstraße
123. Marie Toll. Bergstraße
124. Anton Adel. Berghain
125. Lukas Lob. Hügelweg
125. Theresa Lob-Hüttig Flachlandes
Meine ersten Gedanken (nur über sql möglich?)
SELECT KIND.ID, Eltern1.Vorname, Eltern1.Nachname, Eltern1.Strasse FROM Eltern, Kind WHERE Eltern.kindID=Kind.ID AND Eltern1.Vorname IS NOT NULL;
UNION ALL
SELECT KIND.ID, Eltern2.Vorname, Eltern2.Nachname, Eltern2.Strasse FROM Eltern, Kind WHERE Eltern.kindID=Kind.ID AND Eltern2.Vorname IS NOT NULL;
Vll hat da jemand schon etwas mehr Gedankenschmalz investiert?
Mit dem Schild Bordmitteln müsste jedes Mal zwei Listen jeder zusammen gekantelt werden.
es gibt für Schild ja grundsätzlich eine Doku zu den SQL-Befehlen, die ich mal erhalten habe: https://github.com/SVWS-NRW/SVWS-DB-Scr ... .mysql.sql
Gäbe es die Möglichkeit (für den iServ-Elternimport) EINE Tabelle mit beiden Elternteilen in getrennten Zeilen mit der jeweiligen Kind-ID zu generieren?
Bsp der Zieltabelle
123. Tim Toll Bergstraße
123. Marie Toll. Bergstraße
124. Anton Adel. Berghain
125. Lukas Lob. Hügelweg
125. Theresa Lob-Hüttig Flachlandes
Meine ersten Gedanken (nur über sql möglich?)
SELECT KIND.ID, Eltern1.Vorname, Eltern1.Nachname, Eltern1.Strasse FROM Eltern, Kind WHERE Eltern.kindID=Kind.ID AND Eltern1.Vorname IS NOT NULL;
UNION ALL
SELECT KIND.ID, Eltern2.Vorname, Eltern2.Nachname, Eltern2.Strasse FROM Eltern, Kind WHERE Eltern.kindID=Kind.ID AND Eltern2.Vorname IS NOT NULL;
Vll hat da jemand schon etwas mehr Gedankenschmalz investiert?
Mit dem Schild Bordmitteln müsste jedes Mal zwei Listen jeder zusammen gekantelt werden.
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
erstes Zwischenergebnis (noch mit Schülern und leeren Zeilen, IS NOT NULL klappt nicht?):
SELECT * FROM (SELECT SchuelerErzAdr.Schueler_ID, SchuelerErzAdr.Vorname1 , SchuelerErzAdr.Name1, SchuelerErzAdr.ID FROM SchuelerErzAdr WHERE SchuelerErzAdr.Vorname1 IS NOT NULL)
UNION ALL
SELECT SchuelerErzAdr.Schueler_ID, SchuelerErzAdr.Vorname2, SchuelerErzAdr.Name2, SchuelerErzAdr.ID FROM SchuelerErzAdr WHERE SchuelerErzAdr.Vorname2 IS NOT NULL;
SELECT * FROM (SELECT SchuelerErzAdr.Schueler_ID, SchuelerErzAdr.Vorname1 , SchuelerErzAdr.Name1, SchuelerErzAdr.ID FROM SchuelerErzAdr WHERE SchuelerErzAdr.Vorname1 IS NOT NULL)
UNION ALL
SELECT SchuelerErzAdr.Schueler_ID, SchuelerErzAdr.Vorname2, SchuelerErzAdr.Name2, SchuelerErzAdr.ID FROM SchuelerErzAdr WHERE SchuelerErzAdr.Vorname2 IS NOT NULL;
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
Volljährige Schüler werden noch mit ausgegeben...
- Raffenberg
- Beiträge: 2212
- Registriert: Dienstag 25. September 2018, 15:22
- Schulform: Gymnasium
- Kontaktdaten:
Re: sql-Elternexport für IServ
Hallo,
probieren Sie folgendes in der Art:
Die Erzieherart 'Schüler ist volljährig' und 'Schuelerin ist volljährig' müssen sie vorab herausfinden. Bei mir ist es 3 und 4. Sie können das über
abfragen. Der Befehl müsste noch um die weiteren benötigten Felder erweitert werden.
probieren Sie folgendes in der Art:
Code: Alles auswählen
Select * From
(select s.ID, e.Name1, e.Vorname1 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)
Union All
(select s.ID, e.Name2, e.Vorname2 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)
Order By ID
Code: Alles auswählen
Select * From K_ErzieherArt
Mit freundlichen Grüßen
Jens Raffenberg
Jens Raffenberg
-
- Fachberater*in
- Beiträge: 630
- Registriert: Montag 1. Oktober 2018, 17:16
- Schulform: Gymnasium
Re: sql-Elternexport für IServ
Dieser Report kann vielleicht eine Basis sein, der recht einfach mit LibreOffice (besser für csv als Excel) in die gewünschte Struktur gebracht werden kann.
Dateidruck->XLS-Berichtsdatei
Dateidruck->XLS-Berichtsdatei
- Dateianhänge
-
- iserv-Testexport.rtm
- (10.96 KiB) 27-mal heruntergeladen
Viele Grüße, H. Hayen
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
unsere Lösung
Code: Alles auswählen
Select * From
(select s.GU_ID, e.Name1, e.Vorname1, e.Name1 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)
Union All
(select s.GU_ID, e.Name2, e.Vorname2, e.Name1 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 )
Order By GU_ID
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
Ich musst es noch mal erweitern, da iServ mehrere Attributwerte zu den Eltern erwartet (Straße, Telefon, egal welche..), um Eltern mehrerer Schüler zuverlässig zuordnen zu können.
Leider wirft mir SchILD mit dem SQL nun die Fehlermeldung "Fehler bei der Ausführung: Parameter e.ErzStrassenname hat keinen Standardwert"
Leider wirft mir SchILD mit dem SQL nun die Fehlermeldung "Fehler bei der Ausführung: Parameter e.ErzStrassenname hat keinen Standardwert"
Code: Alles auswählen
Select * From
(select s.GU_ID, e.Name1, e.Vorname1, e.ErzStrassenname, e.ErzHausNr, e.ErzOrt_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)
Union All
(select s.GU_ID, e.Name2, e.Vorname2, e.ErzStrassenname, e.ErzHausNr, e.ErzOrt_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 )
Order By GU_ID
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
Ahh, falsches Schema:
Code: Alles auswählen
Select * From
(select s.GU_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)
Union All
(select s.GU_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 )
Order By GU_ID
-
- Beiträge: 23
- Registriert: Dienstag 26. Mai 2020, 08:55
- Schulform: Gesamtschule
Re: sql-Elternexport für IServ
Eltern, die keinAnschreiben erhalten sollen, sollten auch nicht mit ausgegeben werden:
Select * From
(select s.GU_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)
Union All
(select s.GU_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 )
Order By GU_ID
Select * From
(select s.GU_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)
Union All
(select s.GU_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 )
Order By GU_ID
Re: sql-Elternexport für IServ
Hallo,
vielen lieben Dank für diesen superhilfreichen SQL-Befehl. Er erspart uns eine Menge Arbeit. Bei mir werden aber die "Eltern ohne Anschreiben" ebenfalls mit in die Exeldatei geschrieben.
Hat jemand einen Tipp, wie man den Befehl so anpassen kann, dass tatsächlich nur die "Elternteile mit Anschreiben" ausgegeben werden?
Und was genau ist das für eine ID, die bei e.ID ausgegeben wird? Wird meiner Einschätzung nach nicht benötigt, ich würde dennoch gerne wissen, woher diese ID stammt.
Vielen Dank und herzliche Grüße
Mirco A.
vielen lieben Dank für diesen superhilfreichen SQL-Befehl. Er erspart uns eine Menge Arbeit. Bei mir werden aber die "Eltern ohne Anschreiben" ebenfalls mit in die Exeldatei geschrieben.
Hat jemand einen Tipp, wie man den Befehl so anpassen kann, dass tatsächlich nur die "Elternteile mit Anschreiben" ausgegeben werden?
Und was genau ist das für eine ID, die bei e.ID ausgegeben wird? Wird meiner Einschätzung nach nicht benötigt, ich würde dennoch gerne wissen, woher diese ID stammt.
Vielen Dank und herzliche Grüße
Mirco A.