25. september 2007 - 16:12Der er
13 kommentarer og 1 løsning
Hvor mange medarbejdere har været på arbejde i seneste måned?
Jeg har en Tabel som indeholder følgende 3 kolonner:
Dato, Lonnummer, Afdeling.
Jeg ønsker at finde ud af, hvor mange medarbejdere har været på arbejde i et givet Dato interval, i hver Afdeling. En medarbejder kan godt have arbejdet i flere afdelinger, men skal selvfølgelig kun tælle med én gang pr. afdeling. Hver medarbejder har ét og kun ét Lonnummer.
ELECT Count(Table.lonnr) AS CountOflonnr, Table.afdeling FROM [Table] GROUP BY Table.Dato, Table.afdeling HAVING (((Table.Dato)>#1/1/2007#)) ORDER BY Table.afdeling;
Okay, jeg skal prøve. Følgende er min implementering af Jensens kode, som giver en liste over antal medarbejdere pr afdeling PR DAG:
SELECT Count(MtblTimeberegning.LoennrTimereg) AS CountOfLoennrTimereg, MtblTimeberegning.AfdArb, MtblTimeberegning.Dato FROM MtblTimeberegning GROUP BY MtblTimeberegning.AfdArb, MtblTimeberegning.Dato HAVING (((MtblTimeberegning.Dato)>#8/15/2007#)) ORDER BY MtblTimeberegning.AfdArb;
Jeg ønsker en liste over antal medarbejdere pr afdeling PR DATO INTERVAL. Jensens løsning er perfekt, hvis mit ønskede dato interval altid var en enkelt dag. Men typisk vil det være en hel måned...
Det virker desværre ikke, da du summerer lønnummer, uden hensyn til, om lønnummeret er blevet summeret én gang allerede i perioden. Dette skyldes, at hver dag en person arbejder vil hans lønnummer figurerer i tabellen. F.eks hvis jeg arbejder to dage i træk, vil mit lønnummer figurerer begge dage i tabellen. Når man summer mine lønnumre får man således 2, hvor man kun skal have 1. Er det ikke noget med at summerer unikke lønnumre??
SELECT T.AfdArb, Count(T.LoennrTimereg) AS CountOfLoennrTimereg FROM [SELECT DISTINCT ExampleDB.AfdArb, ExampleDB.LoennrTimereg FROM ExampleDB WHERE (((ExampleDB.Dato)>=#10/15/2007#))]. AS T GROUP BY T.AfdArb;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.