Ben bezig met een database voor een grote danswedstrijd. We hebben nu een DB met de deelnemers waarin ook aangegeven wordt wie met wie danst.
Even in het kort:
Deelnemers (D)
Nummer
Naam
etc..
Danstmet (DM)
Nummer
Nummerpartner
Nu wil ik dus een query bouwen die een lijst geeft van alle deelnemers plus de partner. Probleem is vooral dat die DM tabel 2 kanten op werkt. Het is niet zo'n probleem om de D tabel te joinen met de DM maar dan zie je maar van de helft van de mensen wat de partner is. Als bijvoorbeeld deelnemer 1 met 2 danst dan zie je wel dat 2 de partner is van 1 maar niet dat 1 de partner is van 2.
Ik heb nu dus iets als:
SELECT d.*, dm.*
FROM d left join dm on d.nummer=dm.nummer
dan krijg je dus als resultaat:
1 2
2
3 4
4
terwijl ik eigenlijk:
1 2
2 1
3 4
4 3
wil zien. Ding draait overigens in Access (ja, kan er ook niets aan doen
). Iets zegt me dat dit vrij gemakkelijk moet kunnen, m'n hersenen willen alleen niet helemaal meewerken, moet toch maar eens meer gaan slapen ofzo 
Had eigenlijk gehoopt dat het voor mezelf wat duidelijker zou worden tijdens het typen van de posting en dat ik dus niets meer hoefde te plaatsen op GoT maar 't heeft niet veel geholpen
Heb ook al wat zitten spelen met het 2x joinen met de DM tabel maar het probleem is dan dat je in principe wel alle info uit je DB krijgt alleen dat je het dan niet fatsoenlijk kan presenteren. Je krijgt dan iets als:
Dat is dus bijna niet fatsoenlijk weer te geven of je moet met een flinke hoop IF's in de weer..
Iemand een briljante ingeving?
1 1 2
Even in het kort:
Deelnemers (D)
Nummer
Naam
etc..
Danstmet (DM)
Nummer
Nummerpartner
Nu wil ik dus een query bouwen die een lijst geeft van alle deelnemers plus de partner. Probleem is vooral dat die DM tabel 2 kanten op werkt. Het is niet zo'n probleem om de D tabel te joinen met de DM maar dan zie je maar van de helft van de mensen wat de partner is. Als bijvoorbeeld deelnemer 1 met 2 danst dan zie je wel dat 2 de partner is van 1 maar niet dat 1 de partner is van 2.
Ik heb nu dus iets als:
SELECT d.*, dm.*
FROM d left join dm on d.nummer=dm.nummer
dan krijg je dus als resultaat:
1 2
2
3 4
4
terwijl ik eigenlijk:
1 2
2 1
3 4
4 3
wil zien. Ding draait overigens in Access (ja, kan er ook niets aan doen
Had eigenlijk gehoopt dat het voor mezelf wat duidelijker zou worden tijdens het typen van de posting en dat ik dus niets meer hoefde te plaatsen op GoT maar 't heeft niet veel geholpen
Heb ook al wat zitten spelen met het 2x joinen met de DM tabel maar het probleem is dan dat je in principe wel alle info uit je DB krijgt alleen dat je het dan niet fatsoenlijk kan presenteren. Je krijgt dan iets als:
code:
1
2
3
4
5
| d.nr dm1.nr dm1.np dm2.nr dm2.np 1 1 2 2 1 2 3 3 4 4 3 4 |
Dat is dus bijna niet fatsoenlijk weer te geven of je moet met een flinke hoop IF's in de weer..
Iemand een briljante ingeving?
1 1 2