sql比较来自2个表的计数

时间:2016-07-26 19:44:43

标签: mysql sql

我有2个表 - 表1包含已完成任务的列表,而表2包含完整任务列表。见下文:

request_tasks
request_id
status_id

project_tasks
project_request_id
project_task_id

我需要计算request_tasks中的条目(按request_id分组)并计算project_tasks中的条目(按project_task_id分组)并比较两个表之间的结果。

因此,如果request_tasks有3个条目request_id 1 status_id = 'Completed'project_tasks中有5个条目project_request_id 1,我想知道这一点。

我正在尝试查看哪些project_request_id条目尚未完成所有任务。

我试过

select project_request_id from project_tasks
where (select count(project_request_id) from project_tasks group by project_request_id) > (select count(request_id) from request_tasks)

然而我得到错误子查询返回多行。

如果我不够清楚,请告知。我有一个查询,但我的机器的系统更新丢失了查询,所以我想回忆起之前我是如何做到的。

2 个答案:

答案 0 :(得分:0)

这应该返回按状态分组的两个计数..然后你可以添加你需要的calcutation

select a.status_id, a.count(*), b.count(*) 
from  request_tasks as a
left join project_tasks as b
group by  a.status_id

答案 1 :(得分:0)

这个50%的答案现在解释你想要如何比较结果?!!

首先计算:

select request_id,count(*)
from request_tasks
group by request_id

第二次计数:

select project_request_id,count(*)
from project_tasks
group by project_request_id