login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Groups - Joins

Offline Button - 27/03/2008 15:00 (laatste wijziging 27/03/2008 15:01)
Avatar van ButtonPHP ver gevorderde Allo,

ik heb drie tabellen: users (met al mijn members), groups (met daarin een rij voor admin, een rij voor beheerder, voor gewoon member, enz...) EN een tabel die deze members en groups (lees: rangen) met elkaar verbindt: usergroupacces.

Dus bv. in usergroupacces heb je een rij:
id | member_id | group_id
1 | 5 | 2

wat dan betekent dat de member met id 5 een admin is (admin heeft in de groupstabel id 2)

Maar hoe haal ik die gegevens nu in één keer (lees: met één query) uit deze tabellen? Dus hoe vraag ik met een query op wat member met id 5 als rang/group heeft? Ik veronderstel met Joins maar zou niet weten hoe?

Alvast bedankt,

Button

2 antwoorden

Gesponsorde links
Offline Stijn - 27/03/2008 15:25
Avatar van Stijn PHP expert Je kan dit inderdaad met JOINS doen. Ik heb eventjes een SQL code voor je neergetypt. Let er wel op dat kolommen uit verschillende tabellen met dezelfde naam beter ophaalt met AS.

  1. SELECT * FROM usergroupaccess
  2. INNER JOIN users
  3. INNER JOIN groups
  4. ON( usergroupaccess.member_id = users.id AND usergroupaccess.group_id = groups.id )
Offline MothZone - 27/03/2008 19:51
Avatar van MothZone PHP ver gevorderde
  1. SELECT us.username, g.rank
  2. FROM users AS us, groups AS g, usergroupacces AS u
  3. WHERE u.member_id = us.id
  4. AND u.group_id = g.id

Werkt evengoed, en is een makkelijker te begrijpen query
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s