20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Maar waarom gebruik je geen INNER JOINs?
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
syntax fout (opperator ontbreekt) in query-expressieVerwijderd schreef op 08 juni 2004 @ 17:56:
Wat is de error?
[cursusdeelnemers].[cursist]=[cursisten].[id] RIGHT JOIN cursussen ON [cursusdeelnemers].[cursus]=[cursussen].[id]
hier kun je zien hie de DB in elkaar zit...
[ Voor 18% gewijzigd door decramy op 08-06-2004 18:17 ]
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
nescafe schreef op 08 juni 2004 @ 18:06:
Je query kan op meerdere manieren opgevat worden. Probeer, als je deze wazige joins wilt blijven gebruiken, het eens met haakjes om "cursusdeelnemers ... =[cursisten].[id]"
Maar waarom gebruik je geen INNER JOINs?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| SELECT [cursisten].[naam], [cursisten].[adres], [cursisten].[postcode], [cursisten].[woonplaats], [cursussen].[datum], [cursussen].[soort], [cursussen].[prijs] FROM cursusdeelnemers INNER JOIN cursisten ON [cursusdeelnemers].[cursist]=[cursisten].[id] INNER JOIN cursussen ON [cursusdeelnemers].[cursus]=[cursussen].[id] WHERE [cursusdeelnemers].[cursus]=[Welk CursusID?]; |
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Onderstaande code misschien?
1
2
3
4
5
6
| FROM
cursisten
INNER JOIN
(cursusdeelnemers INNER JOIN cursussen
ON [cursusdeelnemers].[cursus]=[cursussen].[id])
ON [cursusdeelnemers].[cursist]=[cursisten].[id] |
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
Oops! Google Chrome could not find www.rijks%20museum.nl
Ja, maar hoe heeft de TS deze query opgebouwd?
Ik zou in ieder geval niet om elk objectnaam blokhaken zetten.. Lijkt me wizardwerk..
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
edit:
Jippie hij werkt nu!
1
2
3
| SELECT cursisten.naam, cursisten.adres, cursisten.postcode, cursisten.woonplaats, cursussen.datum, cursussen.soort, cursussen.prijs FROM cursisten INNER JOIN (cursusdeelnemers INNER JOIN cursussen ON cursusdeelnemers.cursus=cursussen.id) ON cursusdeelnemers.cursist=cursisten.id WHERE cursusdeelnemers.cursus=[Welk CursusID?]; |
Het valt op dat de blokhaken zijn verdwenen... * decramy mompelt verder
[ Voor 79% gewijzigd door decramy op 09-06-2004 09:09 ]
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
En om even verder te gaan.. Wordt een cursus maar op één moment gegeven? Of zou je graag meerdere data aangeven, met eventueel meerdere locaties..?
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
ermja...nescafe schreef op 09 juni 2004 @ 09:38:
Volgende vraag: wordt een cursus altijd door één trainer gegeven?
En om even verder te gaan.. Wordt een cursus maar op één moment gegeven? Of zou je graag meerdere data aangeven, met eventueel meerdere locaties..?
Das een goeie...
En hoe gaan we dat dan fixen?
Ik loop tegen nog een probleem op: Ik kan wel tabellen in een serie selecteren, maar hoe doe ik En de locatie EN de trainer selecteren?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| SELECT cursisten.naam, cursisten.adres, cursisten.postcode, cursisten.woonplaats, cursussen.datum, cursussen.soort, cursussen.prijs, locaties.naam, locaties.adres, locaties.plaats, trainers.naam, trainers.adres, trainers.woonplaats, trainers.telefoon FROM cursisten INNER JOIN (cursusdeelnemers INNER JOIN (cursussen INNER JOIN locaties ON cursussen.locatie=locaties.id INNER JOIN trainers ON cursussen.trainer=trainer.id ) ON cursusdeelnemers.cursus=cursussen.id ) ON cursusdeelnemers.cursist=cursisten.id WHERE cursusdeelnemers.cursus=[Welk CursusID?]; |
[ Voor 11% gewijzigd door decramy op 09-06-2004 09:57 ]
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Je kunt hier dezelfde constructie gebruiken die je hebt toegepast tussen de tabellen cursussen en deelnemers. Zoek anders eens op m-n-relaties (i.t.t. 1-n-relaties)decramy schreef op 09 juni 2004 @ 09:49:
[...]
ermja...
Das een goeie...
En hoe gaan we dat dan fixen?
Wat P_de_B heeft gezegd: Het makkelijkst is het om gebruik te maken van de query builder die in access zit gebakken. Deze zie je als je bijv. een query aanmaakt of er eentje opent in de "ontwerpweergave".Ik loop tegen nog een probleem op: Ik kan wel tabellen in een serie selecteren, maar hoe doe ik En de locatie EN de trainer selecteren?
[...]
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
Die doet het dus niet meer...nescafe schreef op 09 juni 2004 @ 09:54:
[...]
Wat P_de_B heeft gezegd: Het makkelijkst is het om gebruik te maken van de query builder die in access zit gebakken. Deze zie je als je bijv. een query aanmaakt of er eentje opent in de "ontwerpweergave".
Als ikde ontwerpweergave open, krijg k meteen de SQL
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Echt complex is een join van meerdere tabellen niet. Kun je niet eerst de query gebruiken die het goed doet (decramy in "[access/SQL] Left en Rigth Join kan niet...") en dan op het pijltje drukken naast het linkericoontje onder "Bestand" of "File" en dan ontwerpweergave proberen?decramy schreef op 09 juni 2004 @ 09:59:
[...]
Die doet het dus niet meer...
Als ikde ontwerpweergave open, krijg k meteen de SQLAccess heeft wel door dat ik iets complex wil
[ Voor 6% gewijzigd door nescafe op 09-06-2004 10:18 ]
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
Je kunt toch gewoon met het knopje linksboven omschakelen naar ontwerpweergave?decramy schreef op 09 juni 2004 @ 09:59:
[...]
Die doet het dus niet meer...
Als ikde ontwerpweergave open, krijg k meteen de SQLAccess heeft wel door dat ik iets complex wil
Oops! Google Chrome could not find www.rijks%20museum.nl
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| SELECT cursisten.naam, cursisten.adres, cursisten.postcode, cursisten.woonplaats, cursisten.telefoon, cursussen.datum, cursussen.soort, cursussen.prijs, locaties.naam, locaties.adres, locaties.plaats, trainers.naam, trainers.woonplaats, trainers.telefoon, cursussen.id FROM trainers INNER JOIN (locaties INNER JOIN (cursussen INNER JOIN (cursusdeelnemers LEFT JOIN cursisten ON cursusdeelnemers.cursist = cursisten.id) ON cursussen.id = cursusdeelnemers.cursus) ON locaties.id = cursussen.locatie) ON trainers.id = cursussen.trainer WHERE (((cursussen.id)=[Welk CursusID?])); |
Hij gaat uit van de trainers
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Dan moet je er niet teveel over nadenken
Hij gaat niet echt uit van trainers. De tabelvolgorde kan willekeurig gekozen worden.
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans
hij werkt
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
(cursusdeelnemers LEFT JOIN cursisten ON cursusdeelnemers.cursist = cursisten.id) is op zich een tabel die je weer kunt joinen met cursussen:
(cursussen INNER JOIN (cursusdeelnemers LEFT JOIN cursisten ON cursusdeelnemers.cursist = cursisten.id) ON cursussen.id = cursusdeelnemers.cursus) ON locaties.id = cursussen.locatie
Wat is nu de moraal van dit verhaal? Gebruik gewoon de query builder
* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans