我有一张桌子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

10-05 23:11