1 bevraging in drie tabellen gelijktijdig

Status
Niet open voor verdere reacties.

Charlies

Nieuwe gebruiker
Lid geworden
23 dec 2014
Berichten
4
Hallo,

Kan iemand mij helpen met een bevraging uit drie tabellen tegelijk

Ik vermoed dat er met een JOIN moet gewerkt worden, doch ik krijg het maar niet in orde

De drie tabellen zijn "personeel" , "communicatie" en "wiewatwelk"

personeel:

IDpersoneel
naam
1
Peeters Peter
2
Janssens Jan
3
Dedoncker Dirk
4
Marcellus Marc
5
...enz...

communicatie:

IDcommunicatie
soort
1
Tel werk
2
Tel prive
3
GSM werk
4
GSM prive
5
Mail werk
6
Mail prive

wiewatwelk:

IDwiewatwelk
IDpers
IDcomm
data
1
1
2
03/1234567
2
1
1
915
3
2
1
918
4
2
2
03/7755330
5
2
3
0485/976431
6
3
5
dirk.dedoncker@mijnwerkgever.be
7
3
3
0485/976455
8
3
1
923
9
2
6
jan.janssens@mijnprovider.be

en het resultaat zou er zo moeten uitzien:

Dedoncker Dirk --> Tel werk --> 923
Dedoncker Dirk --> GSM werk --> 0485/976455
Dedoncker Dirk --> Mail werk -->dirk.dedoncker@mijnwerkgever.be
Janssens Jan --> Tel werk --> 918
Janssens Jan --> Tel prive --> 03/7755330
Janssens Jan --> GSM werk --> 0485/976431
Janssens Jan --> Mail prive --> jan.janssens@mijnprovider.be
Marcellus Marc --> nihil
Peeters Peter --> Tel werk --> 915
Peeters Peter --> Tel prive --> 03/1234567

wetende dat alle records van "personeel" worden opgehaald, ook al is er geen data in "wiewatwel" voor deze persoon
en dat de sortering alfabetisch is voor "naam" uit de tabel "personeel"
en als tweede sortering op "IDcommunicatie" uit tabel "communicatie"

Hopelijk kan iemand mij bij deze bevraging helpen
Ik vermoed dat het iets in deze aard zal zijn:
SQL = "select ...... from ......(...join....)......... where ......"

Veel veel dank op voorhand
 
Je hebt nog steeds geen reactie, vandaar de mijne.
In de SQL die ik gebruik (een database onafhankelijke implementatie) zou dat er als volgt uit zien:

Code:
[FONT=Courier New]Select personeel.naam,
       wiewatwelk.data,
       communicatie.soort

From   personeel,
       wiewatwelk (Outerjoin),
       communicatie (Outerjoin)

Where  communicatie.IDcommunicatie = wiewatwelk.IDcomm
And    wiewatwelk.IDpers = personeel.IDpersoneel;[/FONT]

Dat is echter een heel ander SQL "dialect" dan jij nodig hebt, maar wellicht helpt het je verder.
 
Laatst bewerkt:
Edmoor,

dank voor uw reactie
maar is er iemand die het statement volledig zou willen weergeven zoals het er echt dient uit te zien?

Charlotte
 
Dank... en ja dat begin ik te begrijpen,...
maar... in dat voorbeeld worden twee tabellen gebruikt
hoe breng ik mijn derde tabel in één statement

Charlotte
 
Zoals de 2e tabel wordt gebruikt kun je ook een 3e tabel gebruiken. En ook eventueel een 4e, 5e enzovoort. Volgens mij tot een maximum van 16.
 
Ik kreeg een (zonder twijfel automatische) mail van helpmij.nl met de vraag of bovenstaande vraag reeds opgelost is.
Tot mijn spijt ga ik hier negatief antwoorden.

Ik had gehoopt, zoals ik in andere fora kan zien, dat er toch iemand de oplossing zou geven (das ook de reden waarom ik de drie tabellen zorgvuldig beschreven heb)
maar .... niets is minder waar

Spijtig

Charlotte
 
Doet me terugdenken aan mijn beginjaren toen ik liep te stoeien met SQL en de joins.
Daarnaast vindt ik het spijtig om te horen dat Edmoor's antwoord je niet bevredigt in je behoefte, aangezien hij een zeer compleet antwoord heeft gegeven en hij gaf je een goede bron waar je meer informatie kan vinden.

Maar goed, hier heb ik even snel een voorbeeld in elkaar gezet:
Code:
SELECT *
FROM personeel
left join wiewatwelk on personeel.IDpersoneel = wiewatwelk .IDpers
left join communicatie on wiewatwelk .IDcomm = communicatie.IDcommunicatie
 
Precies zoals beschreven in de link die ik plaatste, maar dan inderdaad met 3 tabellen.
Er mist alleen een ; ;)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan