2011-11-15 136 views
1

我在我的网站有一个票务管理系统。在记录的表名为tkt_container 2列所有响应命名票ID和用户ID与查询计数混淆

TICKET ID | USER ID 
101  | A 
105  | B 
103  | A 
110  | A 
105  | A 
101  | A 
103  | A 
101  | A 

其他表dept_info这样的店车票信息。

Dept Name | Ticket ID 
Billing | 101 
Billing | 110 
Accounts | 105 
CustomerSu| 103 

现在,我想用这种方式类似的部门名称和总的反应来获取..

DEpt Name | Total responses for A 
Billing | 4 
Accounts | 2 
CustomerSu| 2 
+0

尽管我尝试过使用内部查询,但那并不满足我的需要,所以删除了它。 –

回答

0

使用这样的查询(我写它的用户 'A'):

select di.dept_name, count(*) as 'Total responses for A' 
from dept_info di inner join tkt_container tc on di.ticket_id = tc.ticket_id 
where tc.user_id = 'A' 
group by di.dept_name 
order by di.dept_name 
2
SELECT `Dept Name`, COUNT(`USER ID`) 
FROM dept_info 
LEFT JOIN tkt_container ON tkt_container.`TICKET ID` = dept_info.`Ticket ID` 
GROUP BY dept_info.`Dept Name` 

很强烈敦促你为你的领域和表格选择更好的名字。将空格放入字段名称绝对没有任何理由。

+0

我已经这样做了,但错过了以正确的方式在这里表示的方式。 –