count 应用

select distinct (category) categorynum, o.cnname categoryname
  from ycoms_askforleave s, s_dic o
 where s.approve_status = '997'
   and s.actorno = '004685'
   and s.category = o.enname
   and o.opttype = 'AFL_LEAVESTATE'
   and s.askforleaveid in (select oo.askforleaveid
                             from ycoms_afl_detailed oo
                            where oo.cancelleaveid is null
                            group by oo.askforleaveid)
      --and to_char(to_date(s.edittime,'yyy-mm-dd'), 'yyyy-mm-dd')
   and substr(ltrim(s.creattime), 0, 10) >
      --to_char(to_date(
       (select t.attendendd
          from (select max(attendendd) as attendendd
                  from ycoms_attend_date_hissta
                 where state in ('2', '1')
                 order by attendendd asc) t) --,'yyyy-mm-dd'),'yyyy-mm-dd')

      
   and s.category = (case
         when s.category = '01' and
              '02' in (select ta.category
                         from ycoms_askforleave ta
                        where ta.approve_status = '997'
                          and ta.actorno = '004685') and
              (select count(x.cancelleaveid)
                 from ycoms_afl_detailed x
                 left join ycoms_askforleave cc
                   on x.askforleaveid = cc.askforleaveid
                where cc.category = '02'
                  and cc.approve_status = '997'
                  and cc.actorno = '004685') in
              (select count(*)
                 from ycoms_afl_detailed x
                 left join ycoms_askforleave cc
                   on x.askforleaveid = cc.askforleaveid
                where cc.approve_status = '997'
                  and cc.actorno = '004685'
                  and cc.category = '02') then
          '01'
         when s.category = '01' and
              '02' in (select ta.category
                         from ycoms_askforleave ta
                        where ta.approve_status = '997'
                          and ta.actorno = '004685') and
              (select count(x.cancelleaveid)
                 from ycoms_afl_detailed x
                 left join ycoms_askforleave cc
                   on x.askforleaveid = cc.askforleaveid
                where cc.category = '02'
                  and cc.approve_status = '997'
                  and cc.actorno = '004685') not in
              (select count(*)
                 from ycoms_afl_detailed x
                 left join ycoms_askforleave cc
                   on x.askforleaveid = cc.askforleaveid
                where cc.approve_status = '997'
                  and cc.actorno = '004685'
                  and cc.category = '02') then
          ''
         else
          s.category
       end)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值