Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL按结果替换分组中的空白结果值_Sql_Group By_String - Fatal编程技术网

SQL按结果替换分组中的空白结果值

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

我有一个SQL查询,它根据名为ks2en的列中的值进行分组。列中的空白结果很好地分组,但是我想用文本“KS2”替换空白值,这样当分组时,我得到“KS2”而不是空白值。p> 以下是我的查询当前的结果:

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。