STAP 1: Bronnen bepalen


Eerst bepaalt u uit welke tabellen u de gegevens wilt halen. Je kunt gegevens uit meerdere tabellen tegelijk halen. In dit eerste voorbeeld halen we echter uit één tabel gegevens.


 

Opdracht. Zoek in het rechtervak de tabel Klanten op. Versleep de tabel naar het Main-venster. Kies uit de weergegeven tabel de volgende velden Code (klantcode), Bedrijfsnaam, Woonplaats en email.


De weergave ziet er als volgt uit:



Koppelknop

De tabel wordt in het Main-venster weergegeven met ernaast een koppelknop. Door hierop te drukken wordt een lijst getoond van tabellen die een relatie hebben met deze tabel. In het geval van Klanten zijn dat er nogal wat. Dat komt omdat klanten centraal staan in het ERP systeem en daarom veel koppelingen hebben met diverse entiteiten in de database.


 

Opdracht. Klik op de koppelknop, selecteer uit de getoonde lijst met relaties de tabel KlantKontaktpersonen. Selecteer de velden Voorletters, Achternaam en email.


Join types

wanneer jij de hierboven genoemde opdrachten juist heeft uitgevoerd, heb je twee tabellen gekoppeld met een Inner Join type koppeling. Dat betekent dat beide tabellen overeenkomstige gegevens bevatten. In dit geval hebben beide tabellen een overeenkomstig Administratienummer en klantcode. Naast Inner Join zijn er ook andere join types.

Een Left Join betekent dat in de linker tabel alle gegevens moeten worden weergegeven en de koppeling van de rechter tabel gegevens mag bevatten. Zijn er geen overeenkomsten voor alle records uit de rechter tabel gevonden, dan wordt de inhoud van de geselecteerde velden met een NULL-waarde gevuld.


Je wijzigt een join type door te dubbelklikken op de link (de lijn die de tabellen met elkaar verbindt). Wanneer je de optie aanvinkt "Select all from left", verander je het type join naar Left Join. Dit kan jij ook andersom doen met de rechter tabel. Je kiest dan "Select all from right." Het type join wordt dan een Right Join. wanneer jij beide opties aanvinkt verandert de koppeling naar het type Full Join. Echt handig is dit niet, omdat dan alle gegevens worden getoond en er geen filterwerking meer van de koppeling uitgaat.


 

Opdracht. Verander de join type naar het type Left Join, zodat in elk geval alle klanten worden weergegeven, ook zonder kontaktpersonen.


Aliassen

wanneer jij scherp heeft opgelet bij het uitvoeren dan de hierboven genoemde opdrachten, zie je dat tweemaal het veld email is geselecteerd. Beide tabellen hebben exact hetzelfde veld. Dat kan vaker voorkomen. Echter, in SQL geldt de regel dat dubbel gebruik van veldnamen niet is toegestaan. Er dient dan een alternatieve naam of Alias te worden opgegeven. De SQL Ontwerper detecteert dubbel gebruik en voegt automatisch een volgnummer aan de dubbele veldnaam toe. Het emailveld van de contactpersoon heet dan ook email1.


Ook kan jij de tabelnaam voorzien van een alias. Door te dubbelkliken op de naam van de tabel verschijn een dialoogvenster waarin je de tabelnaam kunt aanpassen. Ook kan jij dit bereiken door met de rechter muisknop te klikken in de tabel. Uit het popupmenu kies je de optie Properties.


 

Opdracht. Wijzig de alias voor de tabel Klanten naar "K". Voor de tabel Klantkontaktpersonen naar "P". Wijzig voorts de alias voor EMail1 naar "KontaktEMail".


Als je deze opdracht correct heeft uitgevoerd, ziet de syntaxis van de query er als volgt uit:


Select K.Code,

  K.BedrijfsNaam,

  K.Woonplaats,

  K.email,

  P.Voorletters,

  P.Achternaam,

  P.EMail As KontaktEMail

From Klanten K

  Left Join KlantKontaktPersonen P On K.Admin = P.Admin And K.Code = P.Code



Om te bepalen wat er moet worden weergegeven, moeten nu de criteria worden bepaald.

TradiumTech.nl is voor de technische ondersteuning van Tradium Business Software, kijk op www.tradium.nl voor meer informatie.