SELECT CASE WHEN tblTimeType.[Name] is null THEN '**Saknas**' ELSE tblTimeType.[Name] END AS TimeType,
sum(tblTime.[Time]) AS Hours, sum(tblTime.[Time])*60 AS Minutes
FROM tblcustomer
INNER JOIN tblTask
ON tblCustomer.[Nr] = tblTask.CustomerNr
LEFT JOIN tblTime
ON tblTask.[Id] = tblTime.TaskId
LEFT JOIN tblTimeType
ON tblTimeType.[Id] = tblTime.TimeTypeId
WHERE tblCustomer.Category = 'Sigtuna'
And tblTime.StartDate >='2008-03-01 00:00:00.000'
And tblTime.StartDate < '2008-03-31 23:59:59.999'
GROUP BY CASE WHEN tblTimeType.[Name] is null THEN '**Saknas**' ELSE tblTimeType.[Name] END
ORDER BY TimeType
Hej på er!
Jag har några tabeller som jag hämtar data från enligt:
sSQL =" SELECT CASE WHEN tblTimeType.[Name] is null THEN '**Saknas**' ELSE tblTimeType.[Name] END AS TimeType," _
& " tblTime.[Time] AS Hours, tblTime.[Time]* 60 AS Minutes" _
& " FROM tblcustomer" _
& " INNER JOIN tblTask" _
& " ON tblCustomer.[Nr] = tblTask.CustomerNr" _
& " LEFT JOIN tblTime" _
& " ON tblTask.[Id] = tblTime.TaskId" _
& " LEFT JOIN tblTimeType" _
& " ON tblTimeType.[Id] = tblTime.TimeTypeId"_
& " WHERE tblCustomer.Category = '" & sWorkGroupName & "'" _
& " And tblTime.StartDate >='" & tmStartDate & "'" _
& " And tblTime.StartDate < '" & tmStopDate & "'" _
& " ORDER BY TimeType"
utskrivet ser det ut så här:
SELECT CASE WHEN tblTimeType.[Name] is null THEN '**Saknas**' ELSE tblTimeType.[Name] END AS TimeType,
tblTime.[Time] AS Hours, tblTime.[Time]* 60 AS Minutes
FROM tblcustomer
INNER JOIN tblTask
ON tblCustomer.[Nr] = tblTask.CustomerNr
LEFT JOIN tblTime
ON tblTask.[Id] = tblTime.TaskId
LEFT JOIN tblTimeType
ON tblTimeType.[Id] = tblTime.TimeTypeId
WHERE tblCustomer.Category = 'Sigtuna'
And tblTime.StartDate >='2008-03-01 00:00:00.000'
And tblTime.StartDate < '2008-03-31 23:59:59.999'
ORDER BY TimeType
Om vi säger att de olika tidtyperna heter A, B och C, så listas ju alla i en lång lista nu.
Jag vill att endast ett A visas med den totala tiden för den tidtypen för perioden. Lika för B och C.
Hur gör man detta?


