Avatar billede benner Nybegynder
20. september 2007 - 11:18 Der er 3 kommentarer og
1 løsning

Hvordan tæller jeg følgende

Hej

Jeg har en tabel hvor jeg skal have optalt hvormange dage en medarbejder har været på arbejde i løbet af en måned.
Tabellen har følgende felter:

PersonId, Afdeling, Måned, År, Dag1, Dag2, Dag3, ... , Dag31, AntalDage

DagX indeholder antal timer (heltal) en given person har været på arbejde.
AntalDage indeholder antallet af dage den pågældende person har været på arbejde i en givne afdeling.

Mit problem er at nu begynder medarbejderne at arbejde i to forskellige afdelinger den samme dag, derfor får jeg 2 records for personen i tabellen.
Det er nemt at finde det samlede timetal personer har haft en given dag, men hvordan får jeg optalt antallet af arbejdsdage?

Løsninger vil jeg helst kunne lave i én SQL forespørgsel.
Hvem har en god løsning?
Avatar billede benner Nybegynder
20. september 2007 - 13:40 #1
Jeg har forsøgt med eksemplerne fra
http://www.eksperten.dk/spm/618612 og http://www.eksperten.dk/spm/733669
men uden held.
det skal dog bemærkes at jeg i øjeblikke køre databasen på access, men på sigt skal det flyttes til en sqlserver.
Avatar billede arne_v Ekspert
21. september 2007 - 04:09 #2
skud i tågen (til MS Access):

SELECT personid,måned,år,IIF(SUM(dag1)>0,1,0)+...+IIF(SUM(dag31)>0,1,0)
FROM tabel
GROUP BY personid,måned,år

(IIF må kunne konverters til en CASE WHEN i SQLServer)
Avatar billede benner Nybegynder
21. september 2007 - 08:22 #3
Tusind tak Arne
IIF virker i Access, og jeg er ikke i tvivl om at Case When vil virke på serveren.

Send et svar, så får du pointene.
Avatar billede arne_v Ekspert
21. september 2007 - 15:21 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Unik System Design A/S

Head of Internal IT

Udviklings- og Forenklingsstyrelsen

Projektkonsulent til nyopstartet it-projekt

Sentia Denmark A/S

Service Delivery Manager

Sparekassen Danmark

RPA-udvikler til IT-afdelingen