Avatar billede xyz74 Nybegynder
29. oktober 2002 - 07:41 Der er 23 kommentarer og
1 løsning

Problemer med sql sætning

Hej
Jeg har en tabel der registerer mødetid, og en anden der registerer gåtid, for enkelte medarbejdere.
Jeg skal bruge en sql sætning der udregner samlede arbejdstid for enkeltmedarbejder,
Jeg har denne her

SELECT ([Fyraften.Slut]-[Contact.Start])*24 AS TimerIAlt, [Contact].[ID]
FROM Contact, Fyraften
WHERE [Contact.ID]=[Fyraften.ID] And [Fyraften.ID]='97040';

Men den regner ud på tværs, f.eks. medarbejder 97040 er mødt 08.00 og gået 16.00, og næste dag 07.00 til 15.00, så udskriver den 8 timer, 7 timer, 9 timer og 8 timer
Avatar billede skyttegaard Nybegynder
29. oktober 2002 - 08:04 #1
Prøv at joine Fyraften-tabellen med sig selv, så du kan sætte dag = dag
Avatar billede terry Ekspert
29. oktober 2002 - 08:18 #2
You now need to make an agregate query. There is a little Z shaped icon on the menu, press this and you will see that the query GROUPS on all fields. Now you need to alter the grouping of your calculations to SUM.
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 08:43 #3
der er vel ikke en af jer der kan skrive sql sætningen???
Avatar billede terry Ekspert
29. oktober 2002 - 08:47 #4
no but if you send the dB to eksperten@santhell.dk then I will take a look for you.
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 08:50 #5
ok, den er sendt
Avatar billede terry Ekspert
29. oktober 2002 - 08:51 #6
OK, will get back as soon as possible.
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 08:55 #7
thnx:--)
Avatar billede amerikaner Nybegynder
29. oktober 2002 - 09:01 #8
xyz74 prøve den her:

SELECT (Fyraften.Slut-Contact.Start)*24 AS TimerIAlt, [Contact].[ID]
FROM Contact INNER JOIN Fyraften ON Contact.ID=Fyraften.ID
WHERE Fyraften.ID='97040'
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 09:12 #9
amerikaner> den regner også ud på tværs
Avatar billede amerikaner Nybegynder
29. oktober 2002 - 09:25 #10
OK det er fordi du skal har mere end en nøgle.  Hvad er "Unique" med tablen, helt sikker det er ID OG dato eller noget. Så skal du join på dato også.

INNER JOIN Fyraften ON Contact.ID=Fyraften.ID AND Contact.DatoField=Fyraften.DatoField WHERE....
Avatar billede terry Ekspert
29. oktober 2002 - 09:43 #11
xyz74>WHY do you have a table for SLUT and one for START, you can have this information in ONE table. I would also suggest that you have a date, this is what is causing the problem!
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 09:46 #12
viser kun kollone navne
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 09:48 #13
terry> jeg har det fordi, ellers virkede opdatering af db'en ikke, f.eks. når en medarbejder møder skal tabellen for start opdateres, hvis jeg har alle i en tabel, vil sluttid være null, jeg ved ikke om man kan gøre det på en anden smart måde:-/
Avatar billede terry Ekspert
29. oktober 2002 - 09:50 #14
but you CAN have a date field on BOTH tables, this is used for JOINing the CORRECT records.
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 09:59 #15
jeg kan ikke finde ud af det :-(
Avatar billede terry Ekspert
29. oktober 2002 - 09:59 #16
I'll alter your dB and you tell me what you think, OK?
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 10:02 #17
ok, thanks
Avatar billede terry Ekspert
29. oktober 2002 - 10:06 #18
I have sent it
Avatar billede terry Ekspert
29. oktober 2002 - 10:11 #19
I have added a date field to BOTH tables (start+slut). Made a query with all three tables INNER JOIN on start slut on date field and medarb.
Avatar billede terry Ekspert
29. oktober 2002 - 10:12 #20
and datediff() to calculate hours
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 10:14 #21
TUSIND tak, nu fatter jeg endelig hvad du mener med dato, selvfølgelig manglede jeg det, tak skal du have :o)
Avatar billede terry Ekspert
29. oktober 2002 - 10:18 #22
There is a little problem with the SQL!

Change DateDiff to

DateDiff("n",.......)/60

This calculates in minutes and then back to hours. Otherwise you just get WHOLE hours!
Avatar billede terry Ekspert
29. oktober 2002 - 10:18 #23
tahnks :o)
Avatar billede xyz74 Nybegynder
29. oktober 2002 - 10:53 #24
oki :)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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