webForumDet fria alternativet

Beräkna tid

1 svar · 350 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

Hej!

Jag har följande SQL, som jag inte riktigt får till. Det jag vill är att beräkna tiden mellan PlanStartDate och PlanStopDate och därefter summera det...

sSQL =" SELECT  tblCustomer.[Id] AS CustomerId, tblCustomer.[Nr] AS PersonalNr, tblCustomer.[Name] AS CustomerName," _
		& " tblCustomer.Address1 + ', ' + tblCustomer.PostalCode + ' ' + tblCustomer.City AS Address, tblTask.PlanStopDate - tblTask.PlanStartDate AS CalculatedTime," _
		& " sum(case when CalculatedTime is null then 0 else CalculatedTime end) as Hours" _
		& " FROM tblCustomer" _
		& " LEFT JOIN tblTask" _
		& " ON tblTask.[CustomerNr] = tblCustomer.[Nr]" _
		& " Where tblTask.PlanStartDate >='" & tmStartDate & "'" _
		& " And tblTask.PlanStartDate < '" & tmStopDate & "'" _
		& " group by" _
		& " tblCustomer.[Id], tblCustomer.[Nr] ,tblCustomer.[Name] ,tblCustomer.Address1 + ', ' + tblCustomer.PostalCode + ' ' + tblCustomer.City" _
		& " Order by tblCustomer.[Nr]"
SELECT tblCustomer.[Id] AS CustomerId, tblCustomer.[Nr] AS PersonalNr, tblCustomer.[Name] AS CustomerName, tblCustomer.Address1 + ', ' + tblCustomer.PostalCode + ' ' + tblCustomer.City AS Address, tblTask.PlanStopDate - tblTask.PlanStartDate AS CalculatedTime, 
sum(case when CalculatedTime is null then 0 else CalculatedTime end) as Hours 
FROM tblCustomer 
LEFT JOIN tblTask ON tblTask.[CustomerNr] = tblCustomer.[Nr] 
Where tblTask.PlanStartDate >='2008-07-01 00:00:00.000' 
And tblTask.PlanStartDate < '2008-07-31 23:59:59.999' 
group by tblCustomer.[Id], tblCustomer.[Nr] ,tblCustomer.[Name] ,tblCustomer.Address1 + ', ' + tblCustomer.PostalCode + ' ' + tblCustomer.City 
Order by tblCustomer.[Nr]

Mvh
Henrik

doggelitoMedlem sedan juni 20003 076 inlägg
#2

Hämta användaren och gör en subselect istället med tiden så slipper du gruppera och fixa så mycket!

SELECT Id, ... (SELECT DATEDIFF(hour, PlanStopDate, PlanStartDate ...)
FROM tblCustomer
132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)