table events { id primary key, name varchar } table sessions { id primary key, event references events(id), starts datetime } #### select e.name, s.starts from events e join sessions s on e.id = s.event join ( select event, min(starts) as starts from sessions group by event ) as t on s.event = t.event and s.time = t.starts