У меня есть следующие таблицы -Повторяющиеся записи тянет из SQL 2008 запросов
**TimeLogs**
ID
UserID
JobID
TimeTaken
**Jobs**
ID
EstimatedTime
ActualTime
**ClockInLogs**
ID
UserID
ClockDateTimeIn
ClockDateTimeOut
Следующий запрос генерирует дублированные записи -
SELECT tl.JobID, TimeTaken as 'HoursSold',
DATEDIFF(minute, ClockDateTimeIn, ClockDateTimeOut)/60 as Hours_Difference,
DATEDIFF(second, ClockDateTimeIn, ClockDateTimeOut)/60 as Minutes_Difference
from TimeLogs tl
INNER JOIN Jobs j on tl.JobID = j.ID
LEFT JOIN ClockInLogs cil on tl.UserID = cil.UserID
where tl.UserID = 10000 and
ClockDateTimeIn BETWEEN DATEADD(wk, DATEDIFF(wk,0,'11/08/2013'), 0) AND
DATEADD(wk, DATEDIFF(wk,0,'11/08/2013'), 6)
group by tl.ID, tl.JobID, j.TotalEstimatedCharge, tl.TimeTaken, cil.ClockDateTimeIn, cil.ClockDateTimeOut
То, что я хотел бы это сделать возвращает сумму HoursWorked, Hours_Difference и Minutes_Difference - без дублирования. Я не могу понять, откуда происходит дублирование. Есть идеи?
Благодаря
Что вы пытаетесь суммировать эти значения? Просто JobID, или что? – Andrew