Ho una tabella di dati di accesso che assomiglia a questo:selezionare il gruppo stessa colonna in base alla data in diverse colonna
Created | Action
20/01/2016 08:00:00 AM login
20/01/2016 10:05:10 AM logout
20/01/2016 12:00:00 PM login
20/01/2016 04:12:22 PM logout
21/01/2016 08:00:50 AM login
21/01/2016 09:44:42 AM login
21/01/2016 10:44:42 AM login
21/01/2016 04:00:42 PM logout
ho bisogno di selezionare un set di risultati che assomiglia a questo:
Created | Login | Logout
20/01/2016 08:00:00 AM 04:12:22 PM
21/01/2016 08:00:50 PM 04:00:42 PM
Qui è quello che ho provato:
SELECT
CONVERT(VARCHAR(10),li.Created,10) [Date],
CONVERT(VARCHAR(8),MAX(li.Created),8) [Login],
CONVERT(VARCHAR(8),MAX(lo.Created),8) [Logout]
FROM Logins li
LEFT JOIN Logins lo ON lo.[Action] = 'logout'
GROUP BY li.Created
Ma il risultato non è raggruppato per data.
Qual è il modo corretto?
Provare 'gruppo per CONVERT (VARCHAR (10), li.Created, 10)' invece. – jpw
Come sapresti che 04:12:22 AM per qualche motivo arriverà _after_ 08:00:00 AM lo stesso giorno ...? Qual è la regola che dice a che ora scegliere? –
@JoachimIsaksson Era un errore di battitura, l'ho corretto – Smith