Een limiet stellen aan het aantal LEFT OUTER JOIN matches, is dat mogelijk? Ik heb de documentatie erop nagelopen maar heb niets gevonden.
Zeg maar iets in deze trant:
Stel je hebt een tabel met daarin je werknemers, daanraast een tabel met klanten. Iedere klant heeft een eigen werknemer toegewezen als contact persoon. Je wil nu in 1 query de klant met de hoogste id bij je werknemer selecteren
De bovenstaande query zou per werknemer meerdere rijen returnen als er meerdere klanten bij gevonden worden. Eigenlijk zou ik dus zoiets willen als
of
Natuurlijk zijn de bovenstaande methodes niet mogelijk, maar is er een soort van workaround om dit wel te kunnen bereiken?
Zeg maar iets in deze trant:
Stel je hebt een tabel met daarin je werknemers, daanraast een tabel met klanten. Iedere klant heeft een eigen werknemer toegewezen als contact persoon. Je wil nu in 1 query de klant met de hoogste id bij je werknemer selecteren
code:
1
2
3
4
| SELECT DISTINCT werknemers.naam,
klanten.naam
FROM werknemers
LEFT OUTER JOIN klanten ON (klanten.repid = werknemers.id) |
De bovenstaande query zou per werknemer meerdere rijen returnen als er meerdere klanten bij gevonden worden. Eigenlijk zou ik dus zoiets willen als
code:
1
2
3
4
| SELECT DISTINCT werknemers.naam,
klanten.naam
FROM werknemers
LEFT OUTER JOIN klanten ON (klanten.repid = werknemers.id LIMIT 1) |
of
code:
1
2
3
4
| SELECT DISTINCT werknemers.naam,
klanten.naam
FROM werknemers
LEFT OUTER JOIN klanten ON ((klanten.repid = werknemers.id) AND (klanten.repid = max(klanten.repid))) |
Natuurlijk zijn de bovenstaande methodes niet mogelijk, maar is er een soort van workaround om dit wel te kunnen bereiken?