Tôi có một bảng thông tin đăng nhập mà trông như thế này:chọn cùng một nhóm cột theo ngày thành cột khác nhau
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
tôi cần phải chọn một tập hợp kết quả trông như thế này:
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
đây là những gì tôi đã thử:
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
Nhưng kết quả không được nhóm theo ngày.
Cách thích hợp là gì?
Hãy thử 'nhóm bằng CONVERT (VARCHAR (10), li.Created, 10)' thay thế. – jpw
Làm thế nào bạn biết rằng 04:12:22 SA vì một lý do nào đó đến sau 8:00:00 sáng cùng ngày ...? Quy tắc nói thời gian nào cần chọn? –
@JoachimIsaksson Đó là một lỗi đánh máy, tôi đã chỉnh sửa nó – Smith