我是MS SQL新手,我很難獲得正確的結果。我目前有一個表格,其中包含標題updateddate
(日期),addedby
(編號),operationid
(編號)和servicereqno
(編號),這些表格已從三個不同的表中選擇。同一列中的事件之間的日期差異
operationid
是一個事件,servicereqno
是一個工作號碼。我希望能夠獲得事件之間的時間差,然後一旦建立,就可以計算出平均值。
例如:
- OPID 512是在20:15 - servicereqno 1
- OPID 535是在21:23 - servicereqno 1
我的首要任務將是確定什麼時間上的差異在於,確保它在同一個工作號碼內。
非常感謝
這是現在我輸入的語法,但它不工作:第一站現在是基於高亮顯示的區域,它表示是一個'無效的對象名'我不明白爲什麼這是無效的,當它是對象名: – AJ1791
選擇CHANGE.UPDATEDDATE,CHANGE.ADDEDBY,S_OPERATION.OPERATIONID,CHANGE.SERVICEREQid 從變更INNER JOIN CHANGE_H ON CHANGE.SERVICEREQNO = CHANGE_H.SERVICEREQNO INNER JOIN S_OPERATION ON CHANGE_H.OPERATIONID = S_OPERATION.OPERATIONID WHERE(S_OPERATION。 OPERATIONID = 102005212)或 (S_OPERATION.OPERATIONID = 102005218)或 (s_operation.operationid = 102005406)或(s_operation.operationid = 102005401)或 (s_operation.operationid = 102005215); WITH cteOps AS( – AJ1791
SELECT row_number()OVER(PARTITION BY change.servicereqno ORDER BY change.updateddate)seqid,change.updateddate,change.servicereqno FROM ** CHANGE.updateddate,change.addedby,s_operation.operationid,change.servicereqno) ** SELECT DATEDIFF(毫秒,o1.updateddate,o2.updateddate)updateddatediff,servicereqno FROM cteOps o1 JOIN cteOps o2 ON o1.seqid = o2.seqid + 1 AND o1.servicereqno = o2.servicereqno; – AJ1791