Query vraag (Joins)
Ik wil de voor- en achternaam van de docenten die het vak met de naam ‘Databases’ kunnen geven.
Tabel Vak:
vakcode naam
TICT-V1TO1-10 Themaopdracht 1
TICT-V1CP1-09 Inleiding ICT 1
TICT-V1OK1-09 Organisatiekunde 1
TICT-V1DB1-09 Databases
TCIF-V3INTO-09 Innovation Thema Opdracht
TICT-V3STA1-10 Stage
TCTI-V2RTEM1-04 Realtime en embedded systemen
TCTI-V2CPRG2-04 C programmeren 2
TCIE-V2DATP1-08 Data persistence
TCIE-V2GWT1-09 Google Webtool
TCBI-D3CONS-08 Consultancy Vaardigheden
Tabel VakDocent:
vakcode docentnr
TCBI-D3CONS-08 5
TCIE-V2GWT1-09 10
TCIF-V3INTO-09 4
TCTI-V2CPRG2-04 12
TCTI-V2RTEM1-04 8
TCTI-V2RTEM1-04 12
TICT-V1CP1-09 1
TICT-V1CP1-09 2
TICT-V1CP1-09 6
TICT-V1CP1-09 10
TICT-V1DB1-09 1
TICT-V1DB1-09 2
TICT-V1DB1-09 3
TICT-V1DB1-09 4
TICT-V1OK1-09 5
TICT-V1TO1-10 5
TICT-V1TO1-10 8
TICT-V1TO1-10 9
TICT-V3STA1-10 2
TICT-V3STA1-10 11
Tabel Docent:
docentnr achternaam voornaam
1 xxx
2 xxxx
3 xxx
4 xxx
5 xxxx
6 xxxx
7
8
9
10
11
12
Alvast bedankt
Tabel Vak:
vakcode naam
TICT-V1TO1-10 Themaopdracht 1
TICT-V1CP1-09 Inleiding ICT 1
TICT-V1OK1-09 Organisatiekunde 1
TICT-V1DB1-09 Databases
TCIF-V3INTO-09 Innovation Thema Opdracht
TICT-V3STA1-10 Stage
TCTI-V2RTEM1-04 Realtime en embedded systemen
TCTI-V2CPRG2-04 C programmeren 2
TCIE-V2DATP1-08 Data persistence
TCIE-V2GWT1-09 Google Webtool
TCBI-D3CONS-08 Consultancy Vaardigheden
Tabel VakDocent:
vakcode docentnr
TCBI-D3CONS-08 5
TCIE-V2GWT1-09 10
TCIF-V3INTO-09 4
TCTI-V2CPRG2-04 12
TCTI-V2RTEM1-04 8
TCTI-V2RTEM1-04 12
TICT-V1CP1-09 1
TICT-V1CP1-09 2
TICT-V1CP1-09 6
TICT-V1CP1-09 10
TICT-V1DB1-09 1
TICT-V1DB1-09 2
TICT-V1DB1-09 3
TICT-V1DB1-09 4
TICT-V1OK1-09 5
TICT-V1TO1-10 5
TICT-V1TO1-10 8
TICT-V1TO1-10 9
TICT-V3STA1-10 2
TICT-V3STA1-10 11
Tabel Docent:
docentnr achternaam voornaam
1 xxx
2 xxxx
3 xxx
4 xxx
5 xxxx
6 xxxx
7
8
9
10
11
12
Alvast bedankt
Gewijzigd op 01/12/2010 13:21:51 door Chris -
Pffff... zou je alsjeblieft wat duidelijker willen zijn? op deze manier kunnen we je echt niet helpen hoor. Wat wil je van ons? Je omschrijving is ten eerste niet duidelijk, en ten tweede wat heb je tot nu toe geprobeerd om te bereiken wat je wil? Hoe ziet je code eruit?
Pas als jij antwoord geeft op bovengenoemde punten kunnen we je helpen.
Pas als jij antwoord geeft op bovengenoemde punten kunnen we je helpen.
Ik ben het met ozzie eens.
Enigste wat ik hier uit kan maken is dat je misschien gegevens op wil halen uit de database uit 2 verschillende tabbelen, doormiddel van een LEFT JOIN ofzo.
Maar idd vraag is heel onduidelijk.
Enigste wat ik hier uit kan maken is dat je misschien gegevens op wil halen uit de database uit 2 verschillende tabbelen, doormiddel van een LEFT JOIN ofzo.
Maar idd vraag is heel onduidelijk.
Gewijzigd op 01/12/2010 01:24:21 door Tim Kampherbeek
Zoals ik al zei... laat Rover zelf maar even met meer informatie komen. Hier kunnen we niks mee.
SELECT * FROM VakDocent WHERE vakcode = "TICT-V1DB1-09"
en met dat resultaat een query uitvoeren op de andere tabel
en met dat resultaat een query uitvoeren op de andere tabel
Gewijzigd op 01/12/2010 11:31:05 door Jos Verra
Pffff... laat Rover nou eens eerst met meer informatie komen voordat hier reacties geplaatst worden!!
Ozzie, onzin, je kan duidelijk zien wat de bedoeling is. Je hoeft overigens niet 2 nutteloze posts ervoor te maken ;-)
Dit kun je ook nog in 1 query maken door gebruik te maken van joins, maar dat laat ik aan jou over. Eerst de basis.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
SELECT vakcode FROM Vak WHERE naam = 'Databases';
resultaat: TICT-V1DB1-09
SELECT docentnr FROM VakDocent WHERE vakcode = 'TICT-V1DB1-09'
resultaat: 1,2,3,4
SELECT voornaam, achternaam FROM Docent WHERE id = 1 OR id = 2 OR id = 3 OR id = 4
resultaat: xxx xxx (keer 4)
resultaat: TICT-V1DB1-09
SELECT docentnr FROM VakDocent WHERE vakcode = 'TICT-V1DB1-09'
resultaat: 1,2,3,4
SELECT voornaam, achternaam FROM Docent WHERE id = 1 OR id = 2 OR id = 3 OR id = 4
resultaat: xxx xxx (keer 4)
Dit kun je ook nog in 1 query maken door gebruik te maken van joins, maar dat laat ik aan jou over. Eerst de basis.
Ik moet zeggen dat ik mijn vraag heel duidelijk heb geformuleerd, dus ik begrijp niet hoe je daar niet uit kan komen Ozzie.
Bedankt voor je reactie Chris. Zover was ik zelf ook gekomen. Maar nu was de vraag hoe ik dat in 1 query stop?
Bedankt voor je reactie Chris. Zover was ik zelf ook gekomen. Maar nu was de vraag hoe ik dat in 1 query stop?
Nee, de vraag is niet duidelijk gesteld!
Nog iets: de titel van een topic hoort een korte beschrijving te zijn van het probleem of toch ten minste een aantal kernwoorden die verband houden met het onderwerp.
Titels als "Hulp", "Werkt niet", "Kan iemand mij helpen", "Wat doe ik mis", "php vraag", ... helpen ons geen k****n verder.
Als wij een dag of twee later nog willen reageren (stel dat we net toevallig een oplossing tegen komen), proberen we de posts terug te vinden aan de hand van de titel. Met zo'n titel zal niemand nog die moeite doen.
Nog iets: de titel van een topic hoort een korte beschrijving te zijn van het probleem of toch ten minste een aantal kernwoorden die verband houden met het onderwerp.
Titels als "Hulp", "Werkt niet", "Kan iemand mij helpen", "Wat doe ik mis", "php vraag", ... helpen ons geen k****n verder.
Als wij een dag of twee later nog willen reageren (stel dat we net toevallig een oplossing tegen komen), proberen we de posts terug te vinden aan de hand van de titel. Met zo'n titel zal niemand nog die moeite doen.
Gewijzigd op 01/12/2010 13:18:27 door Kris Peeters
@Kris: Daar heb je gelijk in, ik dacht dat ik dit al had veranderd, maar mijn browser is daarstraks gecrasht. Waarschijnlijk niet op submit gedrukt. Een toontje lager zingen mag overigens wel, een beetje aardig zijn voor elkaar mag best :-)
@TS: Probeer dit eens? (Als het niet werkt, even de foutmelding plaatsen!)
@TS: Probeer dit eens? (Als het niet werkt, even de foutmelding plaatsen!)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
Docent.voornaam,
Docent.achternaam
FROM
Docent
INNER JOIN
VakDocent
ON
VakDocent.docentnr = Docent.docentnr
INNER JOIN
Vak
ON
Vak.vakcode = VakDocent.vakcode
WHERE
Vak.naam = 'Databases'
Docent.voornaam,
Docent.achternaam
FROM
Docent
INNER JOIN
VakDocent
ON
VakDocent.docentnr = Docent.docentnr
INNER JOIN
Vak
ON
Vak.vakcode = VakDocent.vakcode
WHERE
Vak.naam = 'Databases'
Gewijzigd op 01/12/2010 13:22:49 door Chris -
Hartstikke bedankt Chris! Ik begrijp 'm!
Werkt het ook? Hoor graag de uiteindelijke query ;-)
Zonde, dit is juist een mooi voorbeeld om zelf te leren hoe joins werken.




