请SQL高手帮我看看这个SQL:我需要从用户表中查出用户ID,用户Name,分配表中查出任务编号ob_task_no和该任务下的每个用户的分配数量,
从结果表中查询该任务下的每个用户的完成数量和任务名称我把每个表的主要字段贴出来:
用户表:t_cc_agt-->agt_id(用户ID),agt_name(用户姓名)
分配表:ob_queue-->ob_call_no(主键),ob_task_no(任务编号),allotuser_id(用户ID)
结果表:ob_result-->ob_call_no(主键),ob_task_no(任务编号),ob_task_name(任务名称),usr_id(用户ID)select a.agt_id as agt_id,a.agt_name as agt_name,b.ob_task_no as ob_task_no,
c.ob_task_name as ob_task_name,count(b.ob_call_no) as coounter1,
count(c.ob_call_no) as counter2 from t_cc_agt a,ob_queue b,ob_result c
where a.agt_id=b.allotuser_id and a.agt_id=c.usr_id and b.allotuser_id=c.usr_id
and b.ob_task_no=c.ob_task_no
and b.ob_task_no='888' and c.ob_task_no='888'
group by a.agt_id,a.agt_nme,b.ob_task_no,c.ob_task_name

解决方案 »

  1.   

    where中可以去掉
    where a.agt_id=b.allotuser_id and a.agt_id=c.usr_id and b.allotuser_id=c.usr_id 
    and b.ob_task_no=c.ob_task_no 
    and b.ob_task_no= '888 ' and c.ob_task_no= '888 变成
    where a.agt_id=b.allotuser_id and b.allotuser_id=c.usr_id 
      and b.ob_task_no=c.ob_task_no 
      and c.ob_task_no= '888 '
      

  2.   

    去掉的话会使得cost增加很多?
      

  3.   

    去掉的话会使得cost增加很多?