Before you get to a solution, let's clean up what you have presented.
You've given us some sample data, but the time fields appear to be indicating that you will be storing them as strings (given that, in some cases, you have a space between the time and the AM/PM, and in other cases you do not). So, the first thing you should do is to use one of SS date and/or time data types.
Which brings-up the next question, why are you not recording the dates along with the time?
Next, is this what is happening? . . .
Employee 111 is scheduled for the 8AM-5PM shift.
He checks in on-time for his shift.
He checks in an hour late for his next sift (presumably for the next day?)--this is where a date would com in handy. We also presume that he forgot to check-out for his previous shift?
Then, he checks-out for that second shift at 5:45?
Employee 112 is scheduled for the 8AM-5PM shift.
He checks-in and checks-out on his first shift.
He fails to check-in on his second shift, but checks out at 6:30 on that shift.
Employee 113 is scheduled for the 10AM-6PM shift.
He checks-in and checks-out on-time. But are they the same shift? (another example where date would be indispensible).
Maverick Software Design
(847) 864-3600 x2