2016-07-26 82 views
0

我有2个表 - 表1列出了已完成的任务,而表2列出了任务总数。请看下图:来自2个表的sql比较计数

request_tasks 
request_id 
status_id 

project_tasks 
project_request_id 
project_task_id 

我需要统计条目request_tasks(由REQUEST_ID分组)并计算project_tasks(由project_task_id分组)的条目和两个表之间的比较结果。

所以,如果request_tasksrequest_id 1,其status_id = 'Completed' 3项,但在project_tasksproject_request_id 1 5项我想知道。

我想看看哪些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) 

但是我有错误的子查询返回不止一行。

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

+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 
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 
+0

这是我的问题 - 我知道我可以做一个SQL查询来获取计数,但我有麻烦搞清楚我是如何在同一个查询中得到两个计数并做了比较 – efultz

+0

你想要什么样的比较精确地发布你想要的结果的例子 – Cherif