mysqlcase表达式
一、 背景
创新互联是一家集网站建设,新巴尔虎左企业网站建设,新巴尔虎左品牌网站建设,网站定制,新巴尔虎左网站建设报价,网络营销,网络优化,新巴尔虎左网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
resc表保存了系统的一级、二级功能模块,同时保存了二级功能模块各页面的功能,通过pid定义了父子关系。
想通过resc表,整理出一份,一级、二级功能模块的对应关系,类似于这样的结果。
二、 实现方法
select case when PID=1 then '用户管理' when PID=4 then '代理管理' when PID=8 then '媒体管理' when PID=21 then '报表管理' when PID=26 then '内容管理' when PID=30 then '业绩管理' when PID=34 then '财务管理' END as menu, `name`,PID from resc where pid in (select id from resc where pid=0) order by pid
执行结果:
将执行结果,粘贴到excel中,进行合并单元格,即可得到预期结果,可在excel中,对功能模块进行跟踪。
三、 理论
case表达式在sql中,可以实现if-then-else的逻辑。
有两种类型的case表达式:
简单case表达式,使用表达式确定返回值;
搜索case表达式,使用条件确定返回值。
使用简单case表达式
语法:
case search_expression
when expression1 then result1
when expression2 then result2
...
when expressionN then resultN
else default_result
end
关键字说明:
search_expression, 待求值的表达式,数据表的某个字段;
expressionX, 是与search_expression进行比较的表达式;
result1 ,是符合表达式时,返回的值
default_result ,是无法匹配表达式时,默认返回值。
2. 搜索case表达式
语法:
case
when condition1 then result1
when condition2 then result2
...
when conditionN then resultN
else default_result
end
关键字说明:
condition, 是待求值的表达式;
result, 是返回值,condition1为真,则返回result1,以此类推。
default_result ,是无法匹配表达式时,默认返回值。
当前文章:mysqlcase表达式
网址分享:http://hbruida.cn/article/jiciie.html