В настоящее время у меня есть 2 запроса:
SELECT dateadd(month, x.MonthOffset,0) as [Month], SUM(x.itemcount) as [Total] FROM
( SELECT datediff(month,0, cna.impdate) as MonthOffset, count(*) as itemcount FROM myTable
WHERE (emergency = 'Emergency') AND (impdate BETWEEN '" + fromDate + "' AND '" + toDate + "')
GROUP BY impdate ) x
GROUP BY MonthOffset ORDER BY MonthOffset asc
SELECT dateadd(month, x.MonthOffset,0) as [Month], SUM(x.itemcount) as [Total] FROM
( SELECT datediff(month,0, cna.impdate) as MonthOffset, count(*) as itemcount FROM myTable
WHERE (impdate BETWEEN '" + fromDate + "' AND '" + toDate + "')
GROUP BY impdate ) x
GROUP BY MonthOffset ORDER BY MonthOffset asc
Это вернет 2 столбца данных с ежемесячным количеством элементов.
Моя проблема возникает, когда существует месяц без элемента экстренной помощи. Поскольку я передаю объект во второй запрос, если число столбцов, извлеченных из первого, не совпадает со вторым, я получу сообщение об ошибке индекса вне границ.
Как я могу объединить два моих запроса, чтобы у меня было 3 столбца - месяц, итоговая сумма и итоговая сумма? Аварийный итог может быть 0 или ноль.