Hallo!
Ich glaube, ich habe dank des posts von Vinzent die Lösung gefunden. Danke für eure Hilfe!
Hier fürs Archiv:
Gegeben sind mir die Gruppen-Ids der Untergruppen von den Gruppen, die Zugriff auf das Modul haben.
SELECT
SQL_CALC_FOUND_ROWS
`user`.`name`,
`user`.`userId`
FROM
`corre_g_u`
LEFT JOIN
`user` USING(`userId`)
WHERE
`user`.`userId`
IN
(SELECT
`corre_g_u`.`userId`
FROM
`corre_g_u`
WHERE
`corre_g_u`.`groupId` = ?
OR
`corre_g_u`.`groupId` = ?
OR
/* ... hier stehen die Gruppen-Ids die ich bereits habe ... */)
AND
`user`.`userId`
NOT IN
(SELECT
`corre_g_u`.`userId`
FROM
`corre_g_u`
WHERE
`corre_g_u`.`groupId` != ?
AND
`corre_g_u`.`groupId` != ?
AND
/* ... hier stehen wieder die Gruppen-Ids ... */)
GROUP BY
`user`.`name`
ORDER BY
`user`.`name`
LIMIT ?, ?;
Habe ich noch etwas übersehen?
Beste Grüße!