Как подсчитать нулевые значения при создании запроса кросс-таблицы?
У меня есть таблица с тремя столбцами [идентификатор, имя, ответ]
У меня есть следующие записи:
ID NAME ANS
1 ABC 1
1 ABC 0
1 ABC NULL
2 XYZ 1
2 XYZ NULL
2 XYZ NULL
2 XYZ 1
2 XYZ 0
1 ABC 0
Теперь я хотел бы получить свой результат:
ID Name NULLCOUNT TRUE COUNT FALSE COUNT
1 ABC 1 1 2
2 XYZ 2 2 1
Я использую следующую инструкцию SQL:
select ID, NAME,
sum(case ANS when null then 1 else 0 end) as NULLCOUNT,
sum(case ANS when 1 then 1 else 0 end) as TRUECOUNT,
sum(case ANS when 0 then 1 else 0 end) as FALSECOUNT
from
TBL1
Group By ID, Name
Получение моего результата:
ID Name NULLCOUNT TRUE COUNT FALSE COUNT
1 ABC 0 1 2
2 XYZ 0 2 1
Счетчик NULL получает ошибку. Почему и как я могу решить эту проблему?