SuS in iServ ohne genutztes Elternkonto

Aus Schulwiki
Zur Navigation springen Zur Suche springen

Hier werden verschiedene Varianten vorgestellt, um die Elternkonten in iServ zu pflgen

sql-Auswertung: SuS ohne genutztes Elternkonto

Variante 1

  • nur Ausgabe von SuS, die zwar Elternaccounts zugeordent haben
  • sich aber keiner dieser Elternaccounts registriert hat

SELECT DISTINCT u.firstname AS kind_vorname, u.lastname AS kind_nachname, u.auxinfo AS klasse

FROM users u

INNER JOIN idm_user_relation r ON u.id = -1 * r.user_id_to

WHERE u.id NOT IN (

SELECT DISTINCT u.id

FROM users u

INNER JOIN idm_user_relation r ON u.id = -1 * r.user_id_from

INNER JOIN idm_user_login_identifier i ON r.user_id_from = i.user_id

UNION

SELECT DISTINCT u.id

FROM users u

INNER JOIN idm_user_relation r ON u.id = -1 * r.user_id_to

INNER JOIN idm_user_login_identifier i ON r.user_id_from = i.user_id

)

ORDER BY klasse, kind_nachname, kind_vorname;

Quelle: https://community.iserv.eu/iserv/forum/1431/topic/18976#post-97745

Variante 2

Es gibt eine CSV-Liste aus welche alle Schüler auflistet:

  • zu denen es entweder kein Elternkonto gibt (boolscher Wert in der letzten Spalte der Liste)
  • zu denen es ein Elternkonto gibt, aber sich nicht mindestens ein Elternteil registriert hat (Passwort leer)
  • sortiert nach den Klassengruppen welche bei uns alle das Format JXX.Y haben (also z. B. J08.a, J08.b,...)

\COPY (select G.name as Klasse, S.lastname as Nachname, S.firstname as Vorname, S.id IN (select S.id from idm_user S, idm_user E, idm_user_relation R WHERE S.import_profile='SuS_Excel' and S.id = R.user_id_to and E.id = R.user_id_from and R.type = 'parent_of') as hat_elternaccount from idm_user S, idm_group G, idm_user_group UG WHERE S.id = UG.user_id and UG.group_id = G.id and S.import_profile='SuS_Excel' and G.name SIMILAR TO 'J[0-9][0-9]._' and S.id NOT IN (select S.id from idm_user S, idm_user E, idm_user_relation R WHERE S.import_profile='SuS_Excel' and S.id = R.user_id_to and E.id = R.user_id_from and R.type = 'parent_of' and E.password_crypt != '') ORDER by Klasse, S.lastname, S.firstname) TO './sus_ohne_elternregistrierung.csv' (format CSV, HEADER TRUE, FORCE_QUOTE *); COPY 569

Quelle: https://community.iserv.eu/iserv/forum/1431/topic/18976#post-97688