Oprettet tir. d. 19. juni 2012 kl. 10:09:44

zyfer
zyfer (14.825 point. Point ude: 200)
www.Logibis.com

SQL beregne tid (virker men regner forkert)

Hej.

Jeg har en tabel med tids registreringer.

jeg kører denne SQL(forespørgsel) på den.


SELECT Format(b.PanelDate,"dd/mm-yyyy") AS dato, Round(24*Sum((e.PanelDate-b.PanelDate)),2) AS Total, IIf([Total]>8,Round(([Total]-8),2),[Total]=Null) AS Overtid, IIf(Weekday([dato],2)=6 Or Weekday([dato],2)=7,[Total],Null) AS Weekend

FROM Registreringer AS b, Registreringer AS e

WHERE (((e.Paneldate)=(select min(Paneldate) from Registreringer where G=True and PanelDate >b.PanelDate)) AND ((b.K)= True))

GROUP BY Format(b.PanelDate,"dd/mm-yyyy");

Problemet er at den regner forkert.
"Round(24*Sum((e.PanelDate-b.PanelDate)),2) AS Total"

hvis eks.
e.Paneldate="21-01-2012 08:37:43"
b.Paneldate="21-01-2012 11:15:58"
Bliver Total="2,64"

Skulle være Total="2,38"

Nogen der kan gennemskue det ????

Skrevet tir. d. 19. juni 2012 kl. 19:19:37| #1

terry
terry (253.027 point)
If you subtract e.PanelDate from b.PanelDate you get 0,109895833331393 and then if you multiple that by 24 you get around 2,64

so the result is correct according to the way you are doing the calculation

Skrevet tir. d. 19. juni 2012 kl. 19:29:17| #2

terry
terry (253.027 point)
The 2,64 is correct (2,64 hours = 2 hours 37 minutes)

If you want to show 2hrs and 38 minutes then take a look at this link

http://allenbrowne.com/ (...)

Skrevet ons. d. 20. juni 2012 kl. 07:39:57| #3

zyfer
zyfer (14.825 point)
www.Logibis.com
Hey terry.and thanks for your answer :-)

I found the solution..


SELECT Format(b.PanelDate,"dd/mm-yyyy") AS dato, format(sum(e.PanelDate-b.PanelDate),"hh:mm:ss") AS Total, IIf([Total]>"08:00:00",    format(DATEADD("h",-8,[Total]),"hh:mm:ss")      ,[Total]=Null) AS Overtid, IIf(Weekday([dato],2)=6 Or Weekday([dato],2)=7,[Total],Null) AS Weekend
FROM Registreringer AS b, Registreringer AS e
WHERE (((e.Paneldate)=(select min(Paneldate) from Registreringer where G=True and PanelDate >b.PanelDate)) AND ((b.K)= True))
GROUP BY Format(b.PanelDate,"dd/mm-yyyy");

Skrevet ons. d. 20. juni 2012 kl. 17:52:37| #4

terry
terry (253.027 point)
great, thanks for the points.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Distinct kun på én værdi (MS access / ASP)

Oprettet den 18. maj 2013 kl. 09.14
LME giver 200 point for svar | Giv et svar »

overføre samtlige tabelnavne i Databasen til en tabel

Oprettet den 17. maj 2013 kl. 09.37
PERJR giver 30 point for svar | Giv et svar »

Kriterier på baggrund af beregnede data -> fejl

Oprettet den 15. maj 2013 kl. 15.46
petersen7913 giver 60 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Galleri: Her er Googles nyeste værktøj og legetøj

Google har i denne uge afholdt udviklerkonferencen I/O i San Francisco. Se her hvad søgegiganten kunne præsentere af nyskabelser.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger