Joins in Crystal Reports

Door Rachelle Blok
In Crystal Reports
5 januari 2014
0 Reacties
1319 Views

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.
Inner Join Crystal Reports

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.
Left Outer Join Crystal Reports

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).

Tabellen Linken Crystal Reports
Vervolgens kun je het soort Join kiezen onder Type join (Join Type). Standaard staat het type op Inner Join.
Joins Crystal Reports
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.
Joins Crystal Reports
Wanneer je de hoofdtabel wilt veranderen in Klant, klik je op de Koppeling, Rechtermuis, Koppeling omkeren (Link, Right click, Reverse Link). 

Joins Crystal Reports
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.

Joins Crystal Reports
Ten slotte kun je je rapport gaan maken.

Over "" Heeft 37 Posts

Rachelle Blok studeert Data Science en schrijft blogartikelen voor ReportingBLOG, over verschillende tools zoals Excel, SQL Server en Crystal Reports. Rachelle heeft daarnaast een eigen bedrijf in webdesign.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *