Eerst bepaalt u uit welke tabellen de gegevens komen. Dat kunnen er meer zijn tegelijk. In dit voorbeeld maakt u een lijst van alle klanten met hun contactpersonen.
Tabellen toevoegen
- Kies in het hoofdmenu Tools › Nieuw SQL-ontwerp.
- Zoek links bij Objecten de tabel Klanten (typ Klanten in het zoekveld) en sleep hem naar het schema.
- Vink in de tabel de velden Code, BedrijfsNaam, Woonplaats en email aan.
- Sleep ook de tabel KlantKontaktPersonen naar het schema en vink Voorletters, Achternaam en EMail aan.
De ontwerper legt de koppeling tussen de twee tabellen meestal zelf (op Admin en Code), omdat de database die relatie kent. Staat er geen lijn tussen de tabellen, sleep dan het veld Code van Klanten naar het veld Code van KlantKontaktPersonen (en Admin naar Admin).
Het koppeltype
Een koppeling (de lijn tussen de tabellen) is standaard een Inner Join: alleen klanten die ook een contactpersoon hebben, komen in de lijst. Wilt u alle klanten zien, ook zonder contactpersoon:
- Klik op de lijn tussen de tabellen en open de Koppelingseigenschappen (dubbelklik op de lijn of het paneel rechts van het schema).
- Vink Alles van links aan.
Dat is een Left Join: alle rijen van de linker tabel, en de gegevens van de rechter tabel als die er zijn (anders leeg, NULL). Alles van rechts geeft een Right Join. Beide aanvinken geeft een Full Join; dat is zelden handig, omdat de lijst dan niets meer filtert.
Aliassen
Elke tabel krijgt bij het toevoegen een korte naam, de alias, zoals in Windows: de eerste letter, en is die al bezet een langere afkorting. Die alias gebruikt u in de SQL-tekst (K.Code). Een andere alias geven:
- Klik in de titel van de tabel op het menuteken ≡ en kies Eigenschappen.
- Vul bij Alias de nieuwe naam in, bijvoorbeeld K voor Klanten en P voor KlantKontaktPersonen.
Of pas de alias gewoon aan in de SQL-tekst (FROM dbo.Klanten K); het schema neemt hem over.
In hetzelfde menu ≡ vindt u ook Ongebruikte velden verbergen, Velden alfabetisch sorteren, Velden filteren op naam, Alles aanvinken en Alles uitvinken.
Twee velden met dezelfde naam (hier email en EMail) mogen niet; geef het tweede veld in Velden bij Kolomnaam een eigen naam, bijvoorbeeld KontaktEMail.
De SQL-tekst ziet er dan ongeveer zo uit:
SELECT K.Code, K.BedrijfsNaam, K.Woonplaats, K.email, P.Voorletters, P.Achternaam, P.EMail AS KontaktEMail FROM dbo.Klanten K LEFT JOIN dbo.KlantKontaktPersonen P ON K.Admin = P.Admin AND K.Code = P.Code
Tip: u kunt deze tekst ook in het onderste vlak plakken of typen. Een seconde later staat hetzelfde schema in beeld.
Zie ook
In Tradium Windows: Bestand › Nieuw SQL ontwerp · Bijgewerkt: release 3.1.0025