У меня есть запрос, который работает нормально и выполняет два типа работы: COUNT
и SUM
.Возвращает NULL вместо 0 при использовании COUNT (столбец) SQL Server
Что-то вроде
select
id,
Count (contracts) as countcontracts,
count(something1),
count(something1),
count(something1),
sum(cost) as sumCost
from
table
group by
id
Моя проблема заключается: если нет контракта для данного ID, она возвращает 0 для COUNT
и Null
для SUM
. Я хочу видеть нуль, а не 0
Я думал о случае, когда Count (contracts) = 0 then null else Count (contracts) end
, но я не хочу этого делать, потому что у меня более 12 позиций подсчета в запросе и его предположения большого количества записей, поэтому я думаю это может замедлить выполнение запросов.
Есть ли другие способы заменить 0 NULL
?
ли КТР, заменить на главном/внешнем уровне. – jarlh
Cant do CTE - его уже часть CTE :) это также часть вставки – Andrey
IIF - это короткий путь, чем case-when-else-end: IIF (выражение, truepart, falsepart) – CeOnSql