Reputation: 288
I've written this SQL query:
SELECT TOP (15) UserName, EventName, EventTime
FROM AttendanceEvents
WHERE UserName = 'Kareem'
Which results in :
How can I separate values into new columns for an Event?
The output I want is:
UserName | Login | LogOut
Kareem 2015-04-13 01:43 2015-04-13 13:44
Kareem 2015-04-18 12:39 NULL
Kareem 2015-04-18 12:43 NULL
.
.
.
Kareem 2015-04-25 00:35 2015-04-25 05:21
Upvotes: 0
Views: 46
Reputation: 37473
Use conditional aggregation by taking min
select username,cast(eventtime as date) as d, min(case when eventname='IN' then eventtime end) as login,
min(case when eventname='OUT' then eventtime end) as logout
from tablename
group by username,cast(eventtime as date)
Upvotes: 3