我有一个表request
:计数工作历史日志
和一张桌子requesthx
:
单个请求可以通过具有多个科技股多个日志更新。例如,tech1可以为最初的手机联系人创建日志,并在日志部分添加注释。然后tech2可以把这些笔记和完成一部分工作要求。 Tech 3也可以在等待预定的任务上工作。
如果Tech3车队已经登录,我想显示每一个开放的票Tech3车队的计数。
完成此操作的最佳方法是什么?
我已经完成了几个丑陋的查询,这些查询在foreach循环中运行查询以添加到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作为计数。有任何想法吗?
@William喜中,如果这或任何答案已经解决你的问题,请考虑[接受它(HTTP://meta.stackexchange .com/q/5234/179419)通过点击复选标记。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 – WorkSmarter 2015-03-19 01:41:00
使用你的答案作为垫脚石,我相信我有它想通了: 'SELECT COUNT(DISTINCT $ requestHxTable.requestID)AS OpenTickets \t \t \t \t \t \t FROM $ requestTable \t \t \t \t \t \t \t INNER JOIN $ requestHxTable \t \t \t \t \t \t \t \t ON $ requestTable.requestID = $ requestHxTable.requestID \t \t \t \t \t \t其中$ requestTable.status = '开放' \t \t \t \t \t \t和$ requestHxTable.techID = $ techID“' – William 2015-03-19 14:07:10