Исходя из моего предыдущего вопроса , у меня теперь есть следующий SQL:
SELECT CONVERT(VARCHAR(10), Date, 120) AS Date,
COUNT(*) AS Total,
COUNT(CASE
WHEN ErrorCode = -2 THEN 1
END) AS TimeOutErrors,
COUNT(CASE
WHEN ErrorCode IS NOT NULL THEN 1
END) AS TotalErrors
FROM Table
WHERE Type = 7
AND Date = CONVERT(VARCHAR(10), Dateadd(d, -1, Getdate()), 120)
GROUP BY Date
, который возвращает все записи типа 7 за вчерашний день с количеством ошибок -2 иобщее количество ошибок.
Однако, это возвращает 0 строк, если за вчерашний день нет записей типа 7
Можно ли заставить его вернуть все 0, если это так?
т.е.:
Date Total TimeOutErrors TotalErrors
---------- ----- ------------- -----------
2010-12-06 0 0 0
bcp анализирует этот запрос для ежедневного сохранения в файле журнала с помощью агента SQL