Dames en heren,
Hierbij vinden jullie de SQL instructie van mijn query.
Ik wil een oplijsting van alle ziektedagen per medewerker. Elke actieve, eigen medewerker moet op de lijst voorkomen, ook als die geen ziektedagen heeft. Ik dacht dat dit precies de opzet was van een left outer join.
Het resultaat is echter anders. Het lijkt erop dat ik enkel mensen krijg die ziek zijn geweest, en mensen die dit jaar nog helemaal geen afwezigheid hebben gehad (verlof, recup, ...). Mensen die afwezig maar niet ziek zijn geweest, krijg ik niet te zien.
Wat loopt er mis?
Hierbij vinden jullie de SQL instructie van mijn query.
Ik wil een oplijsting van alle ziektedagen per medewerker. Elke actieve, eigen medewerker moet op de lijst voorkomen, ook als die geen ziektedagen heeft. Ik dacht dat dit precies de opzet was van een left outer join.
Het resultaat is echter anders. Het lijkt erop dat ik enkel mensen krijg die ziek zijn geweest, en mensen die dit jaar nog helemaal geen afwezigheid hebben gehad (verlof, recup, ...). Mensen die afwezig maar niet ziek zijn geweest, krijg ik niet te zien.
Wat loopt er mis?
Code:
PARAMETERS [Geef jaar (yyyy)] Short;
SELECT WN_Persoonsgegevens.Rijksregisternummer, WN_Persoonsgegevens.Naam, WN_Persoonsgegevens.Voornaam, WN_Afwezigheden.Begindatum, WN_Afwezigheden.Einddatum, Year([Begindatum]) AS Jaar, WN_Afwezigheden.Aantal, WN_Afwezigheden.Opmerking
FROM (WN_Persoonsgegevens LEFT JOIN WN_Afwezigheden ON WN_Persoonsgegevens.Rijksregisternummer = WN_Afwezigheden.Rijksregisternummer) LEFT JOIN WN_Tewerkstellingen ON WN_Persoonsgegevens.Rijksregisternummer = WN_Tewerkstellingen.Rijksregisternummer
WHERE (((Year([Begindatum]))=[Geef jaar (yyyy)]) AND ((WN_Persoonsgegevens.[Datum uit dienst]) Is Null Or (WN_Persoonsgegevens.[Datum uit dienst])>Now()) AND ((WN_Tewerkstellingen.Contract) Is Null Or (WN_Tewerkstellingen.Contract)<>"Extern") AND ((WN_Afwezigheden.Afwezigheid) Like "Ziekte" Or (WN_Afwezigheden.Afwezigheid) Is Null))
ORDER BY WN_Persoonsgegevens.Naam;