JOINen op meerdere tables

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hello!

ik probeer in één join te checken of een gebruiker uit tabel A in tabel B iets ingevuld heeft met de volgende query :

code:
1
2
3
4
5
6
7
8
SELECT
    U.*, S.userID as settinguser, S.omschrijving
FROM
    hk_users_DNT U
LEFT JOIN
    hk_users_settings S ON S.userID=U.userID
 ORDER BY
    username ASC


Dit werkt perfect.
maar nu wil ik alleen kijken of deze gebruiker ook toebehoort aan een bepaalde groep die ik met een koppeltabel koppel aan een groepsnaam

(koppeltabel = userID + groupID, groups tabel = groupID+group_name)

Nu heb ik echt miljoenen verschillende JOINS gebruikt om zowel de informatie van tabel A, tabel B te krijgen.. En te checken of de gebruiker toebehoort aan de groepsnaam 'X'...


Aangezien mijn JOIN skills echt far below pr0 zijn, plemp ik hier mijn vraag dan maar:
Hoe kan ik in bovenstaande query toevoegen dat een gebruiker toebehoren moet aan group 'X'?

in other words. Hij moet dus alleen (alle) gebruikers retourneren die bij groep 'X' horen.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Hint: gebruik inner joins. Zie ookhttp://gathering.tweakers...sages/1105378//#innerjoin

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb 't na veel klooien zelf kunnen fixen... Hij doet nu wel wat ik wil, maar kan het in 'the long run' niet testen.

Dus kan iemand verifieren of dit 100% klopt?:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT 
    U.*, S.userID as settinguser, S.omschrijving, G.*, D.*
FROM 
    hk_groups_DNT as G, hk_groups_users as D, hk_users_DNT as U
LEFT JOIN 
    hk_users_settings S ON S.userID=U.userID
WHERE
    G.group_name='".$domain."'
AND 
    D.groupID=G.groupID
AND
    U.userID=D.userID
 ORDER BY 
    username ASC

[ Voor 8% gewijzigd door Verwijderd op 28-05-2009 20:55 ]


Acties:
  • 0 Henk 'm!

  • silverstorm
  • Registratie: Februari 2005
  • Laatst online: 11-09 23:53

silverstorm

tearing me apart

SQL:
1
2
3
4
5
6
SELECT velden
FROM tabel1
JOIN tabel2
ON tabel1.veld1=tabel2.veld1
JOIN tabel3
ON tabel3.veld2=tabel3.veld2

Poverty stole your golden shoes, but it din’t steal your laughter
Fools memorize, smart people make notes

Het sysadmin irc-cafe


Acties:
  • 0 Henk 'm!

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Tip: Vervang de * door de gewenste kolommen in het resultaat. Nu heb je geen flauw idee of je de juiste data ophaalt en of je toevallig nog conflicten krijgt met het fetchen van de data. Met het gebruik van een * smeek je om problemen en die ga je vroeg of laat dan ook wel krijgen.