SELECT tableA.TimeSlot, filteredB.Status, filteredB."First Name", filteredB.Last Name¨
FROM tableA
LEFT JOIN (
SELECT *
FROM tableB
WHERE Status = 'Accepted'
) filteredB on tableA.TimeSlot = filteredB.TimeSlot
Note the explicit output columns. The general asterisk can cause problems when there are duplicate column names across a join.
Alternatively, how could I structure a separate query to output available time slots? My plan is to then have a dropdown list that is bound to that query so that the user is able to schedule during an available time.