首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql查询中case when的使用解决思路

2012-03-31 
sql查询中case when的使用现在有个表useridtruename ..(null)0员工10员工21张三1张三2李四现在要 group us

sql查询中case when的使用
现在有个表
userid truename ..
(null)
 0 员工1
 0 员工2 
 1 张三
 1 张三
 2 李四

现在要 group userid count 返回truename和count结果 ,如果为0的truename就统一为 “一般”,为null的就统一为 “特殊”

结果应该是 
truename countnum
特殊 1
一般 2 
张三 2
李四 1


求助

[解决办法]

SQL code
declare @T table (userid int,truename varchar(5))insert into @Tselect null,null union allselect 0,'员工1' union allselect 0,'员工2' union allselect 1,'张三' union allselect 1,'张三' union allselect 2,'李四'select case when userid=0 then '一般' else isnull(truename,'特殊') end as truename,count(1) as countnum from @t group by case when userid=0 then '一般' else isnull(truename,'特殊') END/*truename countnum-------- -----------李四       1特殊       1一般       2张三       2*/ 

热点排行