0
我试图创建一个查询,每次在上次为同一件设备创建任务后的7天内添加任务时进行计数。SQL:对彼此接近的条目进行计数
我们有服务请求,可以有多个服务任务。每个任务可以有一个服务设备连接到它。
下面是我到目前为止的代码。我的结果最终计算了所有服务任务减去一个,而不是前一个任务7天内的服务任务,我不知道为什么。关于我在做什么的任何想法都是错误的?
SELECT c.CustomerID,
e.strSerialNumber,
COUNT(r2.dtmServiceRequestStartDate)
as 'Call-Backs'
FROM tblServiceRequest r2
LEFT OUTER JOIN tblServiceTask t2
ON r2.lngServiceRequestID = t2.lngServiceRequestID
LEFT OUTER JOIN tblServiceEquipment e
ON e.lngSEID = t2.lngSEID
INNER JOIN tblCustomers c
ON r2.strShipTo = c.CustomerID
WHERE r2.dtmServiceRequestStartDate < (
SELECT MAX(r.dtmServiceRequestStartDate)
FROM tblServiceRequest r
LEFT OUTER JOIN tblServiceTask t
ON r.lngServiceRequestID = t.lngServiceRequestID
WHERE r.dtmServiceRequestStartDate < (
SELECT MAX(dtmServiceRequestStartDate)
FROM tblServiceRequest r1
LEFT OUTER JOIN tblservicetask t1
ON r1.lngServiceRequestID = t1.lngServiceRequestID
WHERE t.lngSEID = t1.lngSEID)
) + 7
AND t2.lngSEID IS NOT NULL
AND c.Active = 1
GROUP BY c.CustomerID, e.strSerialNumber
欢迎来到[so],对于'sql'相关问题,请说明您正在使用的DBMS(sql server,oracle ...等)。并请提供表格结构,样本数据和预期结果。 – Prisoner