DbQueryUserMiniDao_queryUserByCert.sql 832 B

12345678910111213141516171819
  1. select count(baseuu.realname) as total,
  2. count(uucert.id)as certCount,
  3. cast(count(uucert.id)/count(baseuu.realname) as decimal(10,2)) as percent,
  4. dp.glcname as departname
  5. from t_bus_user_personnel pers
  6. LEFT JOIN t_s_base_user baseuu on baseuu.id = pers.userid
  7. left join t_s_user_org uorg on uorg.user_id = pers.userid and uorg.ifpluralism = '0'
  8. left join t_s_user uu on baseuu.id = uu.id
  9. left join t_s_depart dp on dp.ID = uorg.org_id
  10. left join t_bus_user_certificate uucert on uucert.userid = pers.userid
  11. <#if inDto.certId ?exists && inDto.certId ?length gt 0>
  12. and uucert.certificateid = :inDto.certId
  13. </#if>
  14. where pers.leave_date is null and baseuu.delete_flag = '0' and dp.glcname is not null
  15. <#if inDto.departname ?exists && inDto.departname ?length gt 0>
  16. and dp.glcname = :inDto.departname
  17. </#if>
  18. GROUP BY dp.glcname