• try a full join and 'isnull' to find the missing items

    create table a(ei int, en varchar(255), logdate datetime, tin varchar(7), tout varchar(7))

    insert into a values(0001, 'Sample', '20.09.2013', '6:00pm', NULL)

    insert into a values(0001, 'Sample', '21.09.2013', NULL, '9:00am')

    insert into a values(0002, 'Sample2', '20.09.2013', '7:00am', NULL)

    insert into a values(0003, 'Sample3', '20.09.2013', '8:00am', NULL)

    insert into a values(0003, 'Sample3', '21.09.2013', NULL, '5:00pm')

    insert into a values(0004, 'Sample4', '21.09.2013', NULL, '4:00pm')

    select

    isnull(si.ei, so.ei), isnull(si.en, so.en), isnull(si.logdate, so.logdate), si.tin, so.tout

    from

    (select * from a si where tout is null) si

    full join

    (select * from a si where tin is null) so

    on

    si.ei = so.ei

    and so.logdate = dateadd(dd, 1, si.logdate)

    1Sample2013-09-20 00:00:00.0006:00pm9:00am

    3Sample32013-09-20 00:00:00.0008:00am5:00pm

    4Sample42013-09-21 00:00:00.000NULL4:00pm

    2Sample22013-09-20 00:00:00.0007:00amNULL

    pls note that 'sample3' spans a complete night!