ik wilde graag eens wat weten
het gaat over 3 tabellen
dus een query met 2 inner join

nu mijn vraag
speelt de volgorde van de select een rol?

en hoe word de volgorde van de inner joint bepaald
dus welke moet in de eerste plaats worden geplaatst, de gemeenschappelijke tabel eerst?
of eerst de tabel waarin de andere gegevens staan

het is mogelijks een domme vraag
maar ik zit er nu eenmaal mee

met dank


Eigenlijk moet je het zien dat het van binnen naar buiten wordt gejoined, je hebt nu bijv 3 tabellen waarbij t2 de tabel is waarin beide voorkomen:
Het kan qua volgorde wel anders, maar zo is de opbouw van de query (vind ik) het gemakkelijkst. Deze kan je zien als een losse tabel, waar je weer wat mee kan vergelijken, dus dan bouw je die volgende JOIN eromheen.
Je maakt nu eerst zeg maar de join query voor tabel2 en tabel3, werkt die ga je verder (zo doe je stap voor stap en kan je fouten eerder terugvinden, omdat je met kleine stappen werkt)

Stap 1:

SELECT 
   t2.kolomnaam
FROM
   tabel2 AS t2
INNER JOIN
    tabel3 AS t3
ON
    t3.kol = t2.kolom


Werkt het bovenstaande, gaan we naar stap 2:
[ul]
[li]
Zet een ( in de bovenstaande query op voor de eerstgeselecteerde tabelnaam, na de FROM en sluit de query af met een )
[/li]
[li]
Vervolgens zet je de nieuwe te selecteren tabel na de FROM, en pas je de te selecteren kolom aan.
[/li]
[li]
Nu zet je er een INNER JOIN voor het geopende (
[/li]
[li]
Ten slotte zet je na het gesloten ) het deel met ON neer
[/li]
[/ul]
Dat komt er dan zo uit te zien:
Stap 2:

SELECT 
   t1.kolomnaam
FROM
   tabel1 AS t1
INNER JOIN
        (tabel2 AS t2
     INNER JOIN
        tabel3 AS t3
      ON
         t3.kol = t2.kolnaam)
ON t3.kol = t1.kolomnaam
Een duidelijke uitleg Robert, houd alleen wel de foreign key constraints op de tabellen in de gaten. Het hoeft namelijk niet per se zo te zijn dat t3 een FK constraint op t2 heeft, dat kan net zo goed op t1 zijn. In dat geval komt je query er natuurlijk iets anders uit te zien ;)
mijn dank is groot
ik vind dit echt eens mooi en begrijpbaar uitgelegd

Reageren