oracle小记2-case使用

select *
  from (select row_.*
          from (select rownum          rownum_,
                       aa.name         as approvalName,
                       pd.MOBILEPHONE  as MOBILEPHONE,
                       abc.NAME,
                       ga.APPLY_ID,
                       ga.GROUP_NO,
                       ga.APPLY_CLASS,
                       ga.APPLY_STATUS,
                       gr.GROUP_NAME,
                       ga.CUST_NO
                  from ec_org_person         aa,
                       ec_org_personconnrole ab,
                       ec_org_role           ac,
                       ec_org_person         abc,
                       B_OC_GROUP_APPLY      ga,
                       B_OC_CUST_GROUP       gr,
                       ec_org_PersonDetails  pd
                 where aa.id = ab.personid
                   and ga.GROUP_NO = gr.GROUP_NO
                   and pd.MANAGER_NO = ga.MANAGER_NO
                   and ab.roleid = ac.id
                   and ac.id = (select case
                                         when c.id = 80481 then
                                          80482
                                         when c.id = 80482 then
                                          80501
                                         when c.id = 80501 then
                                          80500
                                       end case
                                  from ec_org_person         a,
                                       ec_org_personconnrole b,
                                       ec_org_role           c
                                 where a.id = b.personid
                                   and b.roleid = c.id
                                   and a.manager_no = ga.MANAGER_NO)
                   and aa.orgid =
                       (select a.orgid
                          from ec_org_person         a,
                               ec_org_personconnrole b,
                               ec_org_role           c
                         where a.id = b.personid
                           and b.roleid = c.id
                           and a.manager_no = ga.MANAGER_NO)
                   and abc.NAME =
                       (select a.NAME
                          from ec_org_person         a,
                               ec_org_personconnrole b,
                               ec_org_role           c
                         where a.id = b.personid
                           and b.roleid = c.id
                           and a.manager_no = ga.MANAGER_NO)
                   and ga.MANAGER_NO = 'MG0000000000'
                 order by ga.apply_date desc) row_
         where rownum_ < 11)
 where rownum_ > 0

你可能感兴趣的:(oracle小记2-case使用)