sum(case when i.status = 50 then 1 else 0 end ) "tested",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) > 0 then 1 else 0 end ) "total",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) = 0 then 1 else 0 end ) "notTesting"
from v_lms_user_group ug
left join entrust_sample_item i on ug.user_id = i.tester_Id
left join (
select ii.entrust_sample_item_id,count(1) "fill_num" from entrust_sample_item_index ii
where ii.deleted = 0 group by ii.entrust_sample_item_id
) ii on ii.entrust_sample_item_id = i.id
left join entrust_sample_item i on ug.user_id = i.tester_Id AND i.deleted = 0
LEFT JOIN ( SELECT ii.entrust_sample_item_id, COUNT ( 1 ) "fill_num" FROM entrust_sample_item_index ii WHERE ii.deleted = 0 GROUP BY ii.entrust_sample_item_id ) ii ON ii.entrust_sample_item_id = i.ID
where 1 = 1
<iftest="rel.realname != null">
and ug.realname like concat('%',#{rel.realname},'%')
SUM ( CASE WHEN i.status = 50 THEN 1 ELSE 0 END ) "tested",
SUM ( CASE WHEN i.status = 20 AND COALESCE ( ii.fill_num, 0 ) > 0 THEN 1 ELSE 0 END ) "total",
SUM ( CASE WHEN i.status = 20 AND COALESCE ( ii.fill_num, 0 ) = 0 THEN 1 ELSE 0 END ) "notTesting"
FROM
v_sys_user u
JOIN v_lms_user_group ug ON u.user_id = ug.user_id
JOIN entrust_sample_item i ON ug.user_id = i.tester_Id
AND i.deleted = 0
LEFT JOIN ( SELECT ii.entrust_sample_item_id, COUNT ( 1 ) "fill_num" FROM entrust_sample_item_index ii WHERE ii.deleted = 0 GROUP BY ii.entrust_sample_item_id ) ii ON ii.entrust_sample_item_id = i.ID