我有一张桌子request
:
和表requesthx
:
一个请求可以有多个技术人员进行的许多日志更新。例如,tech1可以为初始电话联系人创建日志,并在日志部分添加注释。然后,tech2可以记下这些笔记并完成部分工作要求。 Tech 3还可能在等待预定约会的同时从事同一工作。
如果登录了tech3,我想显示每个打开的tech3票的计数。
做到这一点的最佳方法是什么?
我已经完成了几个丑陋的查询,这些查询在foreach循环中运行的查询要添加到一个count变量中,但这似乎是达到一个简单的count总数的很长的路要走。
我试过了...
SELECT requesthx.hxID, requesthx.requestID,
requesthx.datetime_gmt, requesthx.log, requesthx.techID, requesthx.status,
COUNT($requestTable.requestID) AS tickets, request.status, requesthx.techID
FROM requesthx
LEFT JOIN request
ON (requesthx.requestID = request.requestID)
WHERE (requesthx.status <> 'closed'
AND request.status = 'open'
AND requesthx.techID = '1')
GROUP BY requesthx.techID;
...在具有5个techID = 1的未解决故障单的查询中,我只收到1作为计数。有任何想法吗?
最佳答案
您是对的,数据库具有一种计数此类信息的方法。
Select count(*) as "TicketCount"
From requesthx
Where techid=3
And status = "open"
Group by techid