当前位置: 代码迷 >> Sql Server >> 救急该怎么处理
  详细解决方案

救急该怎么处理

热度:96   发布时间:2016-04-27 19:18:57.0
救急
统计任务表:任务执行人分配了那些任务,完成多少,合格多少,合格率是多少???对我来说真的是很难,求高人相助
代码如下:
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
  相关解决方案