Try this:
DECLARE @tmp TABLE([USERID] VARCHAR(5), [TIMESTAMPS] DATETIME, [EVENTID] VARCHAR(5))
INSERT INTO @tmp ([USERID], [TIMESTAMPS], [EVENTID])
VALUES('019', '2014-03-06 07:50:48.000', 'IN'),
('019', '2014-03-06 17:02:39.000', 'OUT'),
('019', '2014-03-09 07:43:37.000', 'IN'),
('019', '2014-03-09 14:34:59.000', 'OUT'),
('019', '2014-03-10 07:43:34.000', 'IN'),
('019', '2014-03-10 14:30:24.000', 'OUT')
SELECT t1.RowNo, t1.[USERID], t1.[IN], t2.[OUT]
FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY USERID ORDER BY TIMESTAMPS) AS RowNo, [USERID], [TIMESTAMPS] AS [IN]
FROM @tmp
WHERE [EVENTID] = 'IN'
) AS t1 INNER JOIN (
SELECT ROW_NUMBER() OVER(PARTITION BY USERID ORDER BY TIMESTAMPS) AS RowNo, [USERID], [TIMESTAMPS] AS [OUT]
FROM @tmp
WHERE [EVENTID] = 'OUT'
) AS t2 ON t1.USERID = t2.USERID AND t1.RowNo = t2.RowNo
Result:
RNo UID IN OUT
1 019 2014-03-06 07:50:48.000 2014-03-06 17:02:39.000
2 019 2014-03-09 07:43:37.000 2014-03-09 14:34:59.000
3 019 2014-03-10 07:43:34.000 2014-03-10 14:30:24.000
[EDIT]
How to "add" next table?
Using Join's.
SELECT t1.Field1, t2.Field1
FROM Table1 As t1 INNER JOIN Table2 AS t2 ON t1.PK = t2.FK
Have a look here:
Visual Representation of SQL Joins[
^] for better understanding how Join's work.
[/EDIT]