我登錄的表看起來像這樣:按日期選擇相同組的列到不同的列
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
我需要選擇一個結果集,看起來像這樣:
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
這裏是我曾嘗試過的:
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
但是結果沒有按日期分組。
什麼是正確的方法?
嘗試'由CONVERT(VARCHAR(10),li.Created,10)'組代替。 – jpw
你怎麼知道04:12:22 AM由於某種原因在同一天08:00:00 AM?什麼規定哪個時間選擇? –
@JoachimIsaksson這是一個錯字,我糾正了它 – Smith