mysqlcase表达式-创新互联

一、 背景

我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、安州ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的安州网站制作公司

    resc表保存了系统的一级、二级功能模块,同时保存了二级功能模块各页面的功能,通过pid定义了父子关系。


    想通过resc表,整理出一份,一级、二级功能模块的对应关系,类似于这样的结果。


    mysql case 表达式

二、 实现方法

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

执行结果:


mysql case 表达式

将执行结果,粘贴到excel中,进行合并单元格,即可得到预期结果,可在excel中,对功能模块进行跟踪。

三、 理论

case表达式在sql中,可以实现if-then-else的逻辑。

有两种类型的case表达式:

  • 简单case表达式,使用表达式确定返回值;

  • 搜索case表达式,使用条件确定返回值。


  1. 使用简单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 ,是无法匹配表达式时,默认返回值。



另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:mysqlcase表达式-创新互联
网页网址:http://myzitong.com/article/didhhe.html