Is there a simpler way to express the query below, without the use of lateral joins (not supported by my ORM) ?
select
v.id,
v.name,
v.avatar,
sent_at,
opened_at,
replied_at
from visitors v
left join auto_message_events ame on ame.visitor_id = v.id
left join lateral (
select inserted_at as sent_at from auto_message_events ame
where ame.visitor_id = v.id and ame.event = 'sent'
) as sent on true
left join lateral (
select inserted_at as opened_at from auto_message_events ame
where ame.visitor_id = v.id and ame.event = 'opened'
) as opened on true
left join lateral (
select inserted_at as replied_at from auto_message_events ame
where ame.visitor_id = v.id and ame.event = 'replied'
) as replied on true
where ame.auto_message_id = 99
limit 10