日期:2014-05-18  浏览次数:20387 次

救急
统计任务表:任务执行人分配了那些任务,完成多少,合格多少,合格率是多少???对我来说真的是很难,求高人相助
代码如下:
select UserId as 任务执行人 ,COUNT(TaskId) as 分配任务数
from Tb_Task group by UserId 

select UserId as 任务执行人,count(TaskStatusId)as 完成任务数 from Tb_Task where TaskStatusId=3 group by UserId


  任务执行人 分配任务数
1 1 6
2 2 8
3 3 5
4 4 5
5 5 1
6 6 1

  任务执行人 完成任务数
1 1 1
2 2 5
3 3 2

如何将这两张表连接,并且任务没完成的显示为0

------解决方案--------------------
select UserId as 任务执行人 ,COUNT(TaskId) as 分配任务数,
(case when TaskStatusId=3 then count(TaskStatusId) end)as 完成任务数 
from Tb_Task group by UserId


------解决方案--------------------
SQL code
select UserId as 任务执行人 ,COUNT(TaskId) as 分配任务数
  ,SUM(CASE WHEN TaskStatusId=3 THEN 1 ELSE 0 END) AS 完成任务数
from Tb_Task group by UserId

------解决方案--------------------
SQL code
select 
  UserId as 任务执行人,
  count(1) as  分配任务数,
  sum(case taskstatusid when 3 then 1 else 0 end) as 完成任务数
from
  Tb_Task 
group by
  UserId