SELECT MyTable.Name,
(
SELECT CASE WHEN ISNULL(SUM(TotalDays), 0) <= 0 THEN 0
ELSE SUM(TotalDays)
END AS Total
FROM Application AS Applications
WHERE (ID = MyTable.id)
) - MIN(Assignments) AS Excesses
FROM MyTable
Приведенный выше оператор TSQL является подзапросом в основном запросе. Когда я запускаю его, если TotalDays равно NULL или <= 0, тогда Total устанавливается в 0 (ноль). </p>
То, что я хотел бы сделать здесь, это установить результат всего запроса (Превышения) в 0. Я хочу (Превышения) , который является результатом Всего - Мин (Назначения) устанавливается в 0, если его значение равно NULL или <= 0. </p>
Я хочу, чтобы CASE WHEN применялся ко всему запросу, но я изо всех сил пытаюсь сделать это правильно.