0
Мне нужно показать все номера недель в месяц, независимо от того, есть ли часы на эту неделю или нет.Всегда показывать пустые недели
Изменить это:
2.00 2 July
2.25 3 July
7.25 5 July
Для этого:
0.00 1 July
2.00 2 July
2.25 3 July
0.00 4 July
7.25 5 July
Вот текущий запрос я работаю с:
SELECT SUM(te.Hours_Bill) AS HoursBilled
, DATEPART(dd, DATEDIFF(dd, 0, te.Date_Start)/7 * 7)/7 + 1 AS HoursWeekNumber
, DATENAME(mm, te.Date_Start) AS HoursMonthName
FROM AGR_Header ah
INNER
JOIN Time_Entry te
ON te.Agr_Header_RecID = ah.AGR_Header_RecID
INNER
JOIN Company co
ON co.Company_RecID = ah.Company_RecID
WHERE (te.Date_Start >= DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) -6, 0) AND te.Date_Start <= DATEADD(mm, DATEDIFF(mm, -1, GETDATE()) -1, -1))
GROUP
BY DATEPART(dd, DATEDIFF(dd, 0, te.Date_Start)/7 * 7)/7 + 1
, DATENAME(mm, te.Date_Start)
, DATEPART(mm, te.Date_Start)
ORDER
BY DATEPART(mm, te.Date_Start) ASC
, DATEPART(dd, DATEDIFF(dd, 0, te.Date_Start)/7 * 7)/7 + 1 ASC
По умолчанию я хочу, чтобы показать все номера недель в течение месяца и если результатов за неделю нет, отобразите 0.
Используйте внешнее соединение на столе (или КТР) «чисел неделю в месяц». –