У меня есть некоторые проблемы с моим SQL-запросом.Я выбираю некоторые значения с определенным диапазоном дат.например, с 2018-05-01 по 2018-05-13 это вывод.
SUM CalendarWeek
8 18
5 19
Если пользователь сейчас выберет дату между 2018-04-01 и 2018-05-13, я хочупоказать 0 вместо, когда нет значений.
Например:
SUM CalendarWeek
0 13
0 14
0 15
0 16
0 17
8 18
5 19
Мой запрос:
SELECT SUM(Codes) AS 'Sum', CW FROM(
SELECT Count(*) AS 'Codes', DATEPART(wk, ScanDate) AS 'CW',
FROM [Table]
WHERE CONVERT(date, ScanDate, 102) >= '2018-01-01' AND CONVERT(date, ScanDate, 102) <= '2018-05-13'
GROUP BY ScanDate, DATEPART(wk, ScanDate)
UNION ALL
SELECT Count(*) AS 'Codes', DATEPART(wk, ScanDate) AS 'CW', ScanDate
FROM [Table_Archive]
WHERE CONVERT(date, ScanDate, 102) >= '2018-01-01' AND CONVERT(date, ScanDate, 102) <= '2018-05-13'
GROUP BY ScanDate, DATEPART(wk, ScanDate)) test
GROUP BY CW, ScanDate
ORDER BY CW ASC
есть идеи, как решить эту проблему?Спасибо