SQL按结果替换分组中的空白结果值
我有一个SQL查询,它根据名为ks2en的列中的值进行分组。列中的空白结果很好地分组,但是我想用文本“KS2”替换空白值,这样当分组时,我得到“KS2”而不是空白值。p> 以下是我的查询当前的结果:SQL按结果替换分组中的空白结果值,sql,group-by,string,Sql,Group By,String,我有一个SQL查询,它根据名为ks2en的列中的值进行分组。列中的空白结果很好地分组,但是我想用文本“KS2”替换空白值,这样当分组时,我得到“KS2”而不是空白值。p> 以下是我的查询当前的结果: KS2 No Result A* 1 0 2a 0 0 3c 1 0 3b 0 0 3a 1
KS2 No Result A*
1 0
2a 0 0
3c 1 0
3b 0 0
3a 1 0
4c 0 0
4b 0 0
4a 0 0
5c 0 0
5b 0 0
以下是我希望它的外观:
KS2 No Result A*
No KS2 1 0
2a 0 0
3c 1 0
3b 0 0
3a 1 0
4c 0 0
4b 0 0
4a 0 0
5c 0 0
5b 0 0
下面是我当前的SQL:
select ks2en as 'KS2',
count(case result when '' then 1 end) as 'No Result',
count(case result when 'A*' then 1 end) as 'A*'
from student join subject
on subject.upn=student.upn
where name='English'
group by ks2en
order by
case when ks2en = 'W' Then 0 Else 1 End,
left(ks2en, 1),
right(ks2en, 1) desc
合并假定为null,而不是空。只需要案例陈述就可以了
case when Ks2en = '' then 'No KS2' else ks2en end as 'KS2'
合并假定为null,而不是空。只需要案例陈述就可以了
case when Ks2en = '' then 'No KS2' else ks2en end as 'KS2'
如果只有空格
select case when LEN(RTRIM(Ks2en)) = 0 then 'No KS2' else 'KS2' end
如果只有空格
select case when LEN(RTRIM(Ks2en)) = 0 then 'No KS2' else 'KS2' end
谢谢你的回答。但是,这个答案会导致KS2下的每一行都显示没有KS2。感谢您的回答。但是,这个答案会导致KS2下的每一行都不显示KS2。