0

私は2つのテーブルleadlead_details. フィールドがありますstatusstatus=1開いている場合status=2は閉じており、status=3指定されていません。

各ユーザー/エージェントについて、Open、Close、および指定されていないすべての合計を見つけたいと考えています。これが私が試したものですが、間違ったデータが得られます

select agent_id,
       type,
       status,
       created_date,
       category_id,
       sum(case when status = 2 then val else 0 end) as closed1,
       sum(case when status = 1 then val else 0 end) as opened1, 
       sum(case when status = 3 then val else 0 end) as notspecefied1 
  from ( select l.agent_id,
                l.type,
                ld.category_id,
                l.status,
                l.created_date,
                count(*) as val 
           from crm_leads l,
                crm_leads_details ld 
          where l.id=ld.lead_id AND  
                status in (2, 1, 3) 
          GROUP BY status, agent_id 
        ) t 
 WHERE created_date BETWEEN '2013-8-2' AND '2013-9-2' 
 GROUP BY agent_id
4

1 に答える 1