I see either a design flaw or incomplete information in this scenario. Anyway one solution could be
select A.checkin, B.checkout
FROM
(
select ROW_NUMBER() ID, checkin
FROM diff
where checkout is null
) A INNER JOIN
(
select ROW_NUMBER() ID, checkout
from diff
where checkin is null
) B ON A.ID = B.ID