岁月如灬风 2019-11-05 16:36 采纳率: 0%
浏览 356
已采纳

oracle sql语句问题,帮忙看一下,谢谢了!!!

                 CASE
                  WHEN (select capgrade
                          from tb_tpost_userpost
                         where mpostid = i.mpostid
                           and spostid = i.spostid
                           and idcard = r.idcard) = 1 THEN
                   'Ⅰ级'
                  WHEN (select capgrade
                          from tb_tpost_userpost
                         where mpostid = i.mpostid
                           and spostid = i.spostid
                           and idcard = r.idcard) = 2 THEN
                   'Ⅱ级'
                  WHEN (select capgrade
                          from tb_tpost_userpost
                         where mpostid = i.mpostid
                           and spostid = i.spostid
                           and idcard = r.idcard) = 3 THEN
                   'Ⅲ级'
                  WHEN (select capgrade
                          from tb_tpost_userpost
                         where mpostid = i.mpostid
                           and spostid = i.spostid
                           and idcard = r.idcard) = 4 THEN
                   'Ⅳ级'
                  WHEN (select capgrade
                          from tb_tpost_userpost
                         where mpostid = i.mpostid
                           and spostid = i.spostid
                           and idcard = r.idcard) = 5 THEN
                   'Ⅴ级'
                  ELSE
                   '尚无等级'
                END usercapgrade 

语句太过长了,这个怎么改成外层嵌套一次查询,大佬帮忙看一下,谢谢

  • 写回答

3条回答 默认 最新

  • bj_0163_bj 2019-11-05 16:40
    关注

    为什么写成这样?不知道是不是你想要的
    select case when capgrade=1 then 'I级' when capgrade=2 then 'II级' when …… else '尚无等级' end usercapgrade
    from tb_tpost_userpost
    where mpostid = i.mpostid
    and spostid = i.spostid
    and idcard = r.idcard

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)