私は2つのテーブルlead
とlead_details
. フィールドがありますstatus
。status=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