Untitled
unknown
plain_text
2 years ago
1.3 kB
5
Indexable
WITH CTE AS ( SELECT P.Name AS Pracownik, E.LoggedOn AS Data, E.SourceID AS Źródło, LAG(E.SourceID) OVER (PARTITION BY P.Name ORDER BY E.LoggedOn) AS PoprzednieŹródło, LAG(E.LoggedOn) OVER (PARTITION BY P.Name ORDER BY E.LoggedOn) AS CzasWejscia FROM sonia.dbo.AccessUserPersons P JOIN sonia.dbo.EventLogEntries E ON E.PersonID = P.ID WHERE E.LoggedOn BETWEEN '2023-12-01 00:00:00.000' AND '2024-01-01 00:00:00.000' AND E.EventCode = 601 AND E.SourceID IN (6, 7) ) SELECT Pracownik, Data, Źródło, CASE WHEN Źródło = 7 AND PoprzednieŹródło = 6 THEN CASE WHEN CONVERT(DATE, CzasWejscia) = CONVERT(DATE, Data) THEN CONVERT(VARCHAR, DATEDIFF(SECOND, CzasWejscia, Data) / 3600) + ':' + RIGHT('0' + CONVERT(VARCHAR, (DATEDIFF(SECOND, CzasWejscia, Data) % 3600) / 60), 2) + ':' + RIGHT('0' + CONVERT(VARCHAR, DATEDIFF(SECOND, CzasWejscia, Data) % 60), 2) ELSE '00:00:00' END ELSE NULL END AS CzasPracy FROM CTE WHERE Źródło = 7 AND PoprzednieŹródło = 6 ORDER BY Pracownik, Data;
Editor is loading...
Leave a Comment