SELECT DISTINCT
a.id AS agent_id,
concat_ws(' ', a.last_name, a.first_name, a.middle_name) AS fio,
p.position
FROM ourpension.agent a
JOIN security."USER" u
ON u.id = a.user_id
JOIN ourpension.agent_position p
ON p.agent_id = a.id
JOIN ourpension.letter_of_attorney l
ON l.agent_position_id = p.id
JOIN ourpension.letter_of_attorney_document_type ladt
ON ladt.loa_id = l.id
WHERE (l.date IS NULL OR now() >= l.date)
AND (l.expire_date IS NULL OR now() <= l.expire_date)
AND (ladt.dt_id = 61 OR ladt.dt_id IS NULL)
ORDER BY fio, p.position;