Joins in Crystal Reports
Dit artikel is een vervolg op het artikel Linken van tabellen in Crystal Reports.
In Crystal Reports zijn er voor het koppelen van tabellen een aantal opties. Je kunt bijvoorbeeld het soort Join instellen.
Wat is een Inner Join?
Een Inner Join koppelt twee tabellen aan elkaar op basis van één of meerdere kolommen die de tabellen gemeenschappelijk hebben.Voorbeeld:
De tabellen linksonder en rechtsonder kunnen aan elkaar gekoppeld worden via het LandID. De tabel linksonder is de hoofdtabel en zal kijken of het LandID ook in een andere tabel voorkomt, in dit geval de tabel rechtsonder. Het resultaat van de koppeling wordt vervolgens getoond in de gecombineerde tabel (de bovenste tabel). Dit wordt voor iedere rij uit de tabel linksonder gedaan. Door deze query zijn we het land Duitsland kwijt, omdat de tabel linksonder geen record heeft met als LandID DE.
Wat is een Outer Join?
Een Outer Join toont alle records van één tabel en de gegevens uit de andere tabel die voldoen aan de JOIN conditie. We kijken alleen naar de Left Outer Join. Andere soorten zijn de Right Outer Join en Full Outer Join. Deze worden niet vaak gebruikt. Met de Left Outer Join worden alle gegevens uit de tabel waaruit je vertrekt getoond. Als er geen gegevens uit de rechtertabel worden gevonden die matchen met de linker tabel, dan worden de lege kolommen gevuld met NULL. Dit betekent dat er geen gegevens beschikbaar zijn.Bij de Left Outer Join moet je bepalen vanuit welke tabel je vertrekt. Hierbij moet je weten wat de hoofdtabel is en wat de hulptabellen zijn. Je vertrekt vanuit de hoofdtabel en deze plaats je links. Met Inner Joins maakt dit niet uit.
Voorbeeld:
De landentabel is nu de hoofdtabel en deze staat nu linksonder. Vanuit deze tabel vertrekken we en dit betekent dat alle gegevens uit deze tabel in de gecombineerde tabel zullen worden getoond. We gebruiken opnieuw het LandID om de tabellen te koppelen. We zien in de gecombineerde tabel dat het land Duitsland wordt getoond. Omdat Duitsland niet gevonden wordt in de tabel rechtsonder, worden de kolommen in de gecombineerde tabel met NULL waardes gevuld.
Joins in Crystal Reports
Voor het instellen van een Join in Crystal Reports ga je naar Database, Database Expert. Vervolgens ga je naar het tabblad Koppelingen (Links). Klik op de Koppeling, Rechtermuis, Koppelingopties (Click on the link, Right click, Link Options).
Vervolgens kun je het soort Join kiezen onder Type join (Join Type). Standaard staat het type op Inner Join.
Stel we gebruiken nu de Left Outer Join. Bovenin kun je zien wat de hoofdtabel is. De hoofdtabel staat aan de linkerkant. In dit geval is de tabel Orders de hoofdtabel.
Wanneer je de hoofdtabel wilt veranderen in Klant, klik je op de Koppeling, Rechtermuis, Koppeling omkeren (Link, Right click, Reverse Link).
Visueel verandert er niets, maar als je vervolgens weer naar Koppelingopties (Link Options) gaat, zie je dat de tabel Klant nu aan de linkerkant staat.
Ten slotte kun je je rapport gaan maken.
Geef een reactie