Update database tables authored by Elke Kreim's avatar Elke Kreim
### Query über Tabellen
Nachfolgendes Beispiel gibt die Nutzer eines Kurses mit der ausgewählten Rolle zurück. Berücksichtigt wird ob Enrolment-Status im Kurs `aktiv` (status=0) sowie generell (systemweit) ob User `suspended` oder `deleted` ist. Der Eintrag 0 ist in beiden Fällen ok. `contextlevel` `50` ist der Wert für den Kurkontext (siehe https://moodledev.io/docs/4.4/apis/subsystems/roles#context)
```sql
SELECT u.firstname, u.lastname, u.email, ra.roleid, r.shortname, e.status FROM mdl_user u JOIN mdl_role_assignments ra ON u.id=ra.userid JOIN mdl_user_enrolments e ON e.userid=u.id JOIN mdl_role r ON ra.roleid=r.id JOIN mdl_context c ON ra.contextid=c.id WHERE c.contextlevel=50 AND instanceid=2 AND r.id=5 AND e.status=0 AND u.deleted=0 AND u.suspended = 0;
```
### Database Tables
Tables required to fetch enrolled users depending on their course role.
......@@ -164,13 +172,5 @@ Indexes:
"mdl_user_mneuse_uix" UNIQUE, btree (mnethostid, username)
```
### Query über die Tabellen
Nachfolgendes Beispiel berücksichtigt Enrolment-Status im Kurs `aktiv` (status=0), außerdem generell ob User `suspended` oder `deleted` ist. Der Eintrag 0 ist in beiden Fällen ok. `contextlevel` `50` ist der Wert für den Kurkontext (siehe https://moodledev.io/docs/4.4/apis/subsystems/roles#context)
```sql
SELECT u.firstname, u.lastname, u.email, ra.roleid, r.shortname, e.status FROM mdl_user u JOIN mdl_role_assignments ra ON u.id=ra.userid JOIN mdl_user_enrolments e ON e.userid=u.id JOIN mdl_role r ON ra.roleid=r.id JOIN mdl_context c ON ra.contextid=c.id WHERE c.contextlevel=50 AND instanceid=2 AND r.id=5 AND e.status=0 AND u.deleted=0 AND u.suspended = 0;
```