У меня есть простой запрос, какие группы и заказы Дата данные:заказа дт в год и дату, когда несколько месяцев отсутствуют
SELECT COUNT(*) AS Events,
datepart(YYYY, call_date) AS YearPart,
datepart(MM, call_date) As MonthPart,
datename(YYYY, call_date) AS YearName,
dateName(MM, call_date) As MonthName
FROM rm_report
GROUP BY
datename(year, call_date),
datename(month, call_date),
datepart(year, call_date),
datepart(month, call_date)
ORDER BY
YearPart,
MonthPart;
Вопрос заключается в том, что первые два месяца первого года не содержат никаких данных. В результате заказа начинается на третьем месяце, а затем циклы первого
EVENTS | YEARPART | YEARNAME | MONTHPART | MONTHNAME
3 2012 2012 3 March
6 2012 2012 4 April
6 2012 2012 5 May
6 2012 2012 6 June
6 2012 2012 7 July
6 2012 2012 8 August
6 2012 2012 9 September
6 2012 2012 10 October
6 2012 2012 11 November
6 2012 2012 12 December
6 2012 2013 1 January
6 2012 2013 2 February
Как я могу гарантировать, что если нет никаких событий, а 0 выделяется, так что список может быть в правильном порядке - то есть первая запись в столбце MonthPart
равна «1», а первая запись в столбце YearPart
- 2012 год?
Мы используем MS SQL.
Поиск таблицы календаря – Mihai
Вставьте несколько фиктивных строк и проверьте. – vivekpansara
Я думал об этом, однако у меня нет доступа на запись в базу данных. Мне пришло в голову, что может быть какое-то самосоединение, которое создавало бы строки с пустым (или нулевым) количеством событий, но я не могу его полностью обработать – skyman