У меня есть база данных sql server 2012 с таблицей из 10 столбцов
name test1, test2, test3, test4,....
bob yes no null yes
john no yes yes null
Я хочу получить все результаты из полей 'test', поэтому я хочу, чтобы мои результаты были
yes = 4
no = 2
null = 2
Я пытался использовать cte, sum, case когда, но я не могу получить результаты, которые я ищу.ниже приведен пример моего sql, если кто-нибудь может сказать мне, как получить результаты, которые я ищу.
with cte as
(
SELECT
test1,
sum (case when test1 = 'yes' then 1 else 0 end) as yes,
sum (case when test1= 'no' then 1 else 0 end) as no,
sum (case when test1 is null then 1 else 0 end) as notset
from names
group by Inspection1Type)
select
sum (yes) as 'yes',
sum(no) as 'no'
sum(notset) as 'Not Set'
from cte;
работает для первого столбца, но не для остальных, так как я ищу то же значение, он жалуется, что мои псевдонимы одинаковы