У меня есть запрос, который получают все пользователи с менеджерами отчетов. Я хотел бы сгруппировать идентификаторы пользователей в виде списка по идентификатору электронной почты менеджера отчетов.
SELECT q.USER_ID, q.REPORTS_TO, e.EMAIL
FROM (SELECT a.USER_ID, a.REPORTS_TO, a.EMAIL
FROM PortalX.PTX_USERS a
LEFT OUTER JOIN PortalX.PTX_LDAP_USERS b
ON a.USER_ID = b.OWN_ID
WHERE b.OWN_ID IS NULL) q
INNER JOIN PortalX.PTX_USERS e ON q.REPORTS_TO = e.USER_ID;
Я не очень знаком с написанием запросов оракула. Любая помощь приветствуется.
Редактировать:
с помощью @Barbaros она является окончательным запросом, который объединяет пользователей в виде списка значений, разделенных запятыми.
SELECT a.REPORTS_TO, a.EMAIL,
LISTAGG(a.USER_ID,',') WITHIN GROUP (ORDER BY a.USER_ID) as USERS
FROM PortalX.PTX_USERS a
LEFT JOIN PortalX.PTX_LDAP_USERS b
ON a.USER_ID = b.OWN_ID
AND a.REPORTS_TO = a.USER_ID
WHERE b.OWN_ID IS NULL
GROUP BY a.REPORTS_TO, a.EMAIL;