Dawood Zaidi
Dawood Zaidi

Reputation: 288

Different Column for Distinct value in SQL

I've written this SQL query:

SELECT TOP (15) UserName, EventName, EventTime
FROM AttendanceEvents
WHERE UserName = 'Kareem'

Which results in :

enter image description here

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

Answers (1)

Fahmi
Fahmi

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

Related Questions