是这样,主要需要三个数据,第一个是总数,这个简单,count一下就好,第二个是进行中,这个要取关联表中状态为处理中的任务,第三个是按时更新数,这个是要看上次更新的时间加上要求每次更新的时间是否在当前日期之前。现在的问题在于count只对存在的数据进行计数,如果一个人没有进行中的任务是不会置0的。并且进行中这列我是直接排序,所以并没有和人对应起来。
SLECT
COUNT(*) AS 总数,
SUM(CASE WHEN 状态 = '处理中' THEN 1 ELSE 0 END ) AS 进行中
FROM 表名
------------------------------------------------------------------------------------
SUM(CASE WHEN fd_process_updtime +
( CASE WHEN 跟进频率= '每周' THEN 7
WEHN 跟进频率 in ( '单数周','双数周') THEN 14
WEHN 跟进频率 = '每月' THEN 30 END ) > sysdate THEN 1 ELSE 0 END ) AS 按时更新数
用一个人员列表进行左连接