Sql语句-case when then else end,sql-case
根据上面的表信息输出下面的结果:
下面是建库和表结构据:
create table DeptSales ( deptID int, SubjMonth int , sales int , deptname varchar(50) )
insert into deptsales (deptid ,subjmonth,sales) values (1,1,55); insert into deptsales (deptid ,subjmonth,sales) values (2,1,66); insert into deptsales (deptid ,subjmonth,sales) values (3,1,77); insert into deptsales (deptid ,subjmonth,sales) values (2,2,34); insert into deptsales (deptid ,subjmonth,sales) values (4,2,56); insert into deptsales (deptid ,subjmonth,sales) values (3,3,78);
执行sql语句:
mysql> select deptID as '部门',sum(case SubjMonth when 1 then sales end) '一月销售额',sum(case SubjMonth when 2 then sales end) '二月销售额',sum(case SubjMonth when 3 then sales end) '三月销售额',sum(case SubjMonth when 4 then sales end) '四月销售额' from deptsales d group by deptID; +------+------------+------------+------------+------------+ | 部门 | 一月销售额 | 二月销售额 | 三月销售额 | 四月销售额 | +------+------------+------------+------------+------------+ | 1 | 55 | NULL | NULL | NULL | | 2 | 66 | 34 | NULL | NULL | | 3 | 77 | NULL | 78 | NULL | | 4 | NULL | 56 | NULL | NULL | +------+------------+------------+------------+------------+ 4 rows in set
遇到 XXX情况 就 XXX 遇不到就 XXX 结束
case when …… then …… else …… end
select ByeTime,case when len(ByeTime)>0 then str(DATEDIFF(day,ComeInTime,ByeTime))+'(已离职)'
else str(DATEDIFF(day,ComeInTime,getdate())) end as test
from myUser where DelFlag='0' and UserID='cq'
这样试一下.语法应该没有问题
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。