Nieuw lid |
|
Hallo,
Ik heb een tabel met gebruikers en een tabel met gebruikersgroepen. Verder is er een koppeltabel aangezien er een n-n relatie bestaat.
In de groepen tabel heb ik een veld waar de rechten van een groep worden bij gehouden.
Nu wil ik een alfabetische lijst hebben van alle gebruikers die via een of meerdere groepen een bepaald recht hebben. De gebruiker dient maar eenmalig in de lijst voor te komen.
Ik heb wat geprobeerd, maar ik denk (weet het wel zeker eignelijk) dat de volgorde van benadering niet helemaal juist is.
Eerst zoeken naar de groepen die een bepaald recht hebben
SELECT fld_relatiesgroep_id
FROM tbl_leden_relaties_groepen
WHERE fld_relatiesgroep_rechten LIKE '%agendabekijken%'
Vervolgens bovenstaande query result doorlopen met
SELECT rel.fld_relatie_id,fld_relatie_naam
FROM tbl_relaties AS rel
LEFT JOIN tbl_koppeltabel AS relkop
ON rel.fld_relatie_id = relkop.fld_relatie_id
WHERE fld_relatiesgroep_id = ".$row['fld_relatiesgroep_id']."
ORDER BY fld_relatie_naam
Ik krijg vervolgens een lijst die per groep de gebruikers laat zien en dus ook doublures.
Hoe krijg ik een lijst met de gebruikers maar eenmalig?
|