Я не уверен, задавался ли этот вопрос ранее. Я не уверен, как это выразить. Но я объясню со сценарием.
У меня есть следующие таблицы
TAB1 с колонками: USERID, CODE, COUNTRY
TAB2 с колонками: USERID, CODE, EMAIL
Пример содержимого:
TAB1:
RISHI, A1B2C3, INDIA
RISHI, D2E3F4, INDIA
KANTA, G3H4I5, INDONESIA
TAB2:
RISHI, A1B2C3, rishi1@test.com
RISHI, A1B2C3, rishi2@test.com
RISHI, A1B2C3, rishi3@test.com
RISHI, D2E3F4, rishi1@test.com
RISHI, D2E3F4, rishi2@test.com
KANTA, G3H4I5, kanta1@test.com
То, что я хочу от запроса выбора или хранимой процедуры pl / sql, является результатом, подобным этому:
RISHI, INDIA, A1B2C3, (rishi1@test.com, rishi2@test.com, rishi3@test.com)
RISHI, INDIA, D2E3F4, (rishi1@test.com, rishi2@test.com)
Если я сделаю выбор, например:
select a.userid, a.code, a.country, b.email
from tab1.a, tab2.b
where a.userid = b.userid
and a.code = b.code
and a.userid = 'RISHI';
Я получаю результат как:
RISHI, INDIA, A1B2C3, rishi1@test.com
RISHI, INDIA, A1B2C3, rishi2@test.com
RISHI, INDIA, A1B2C3, rishi3@test.com
RISHI, INDIA, D2E3F4, rishi1@test.com
RISHI, INDIA, D2E3F4, rishi2@test.com
Что мне в основном нужно, так это идентификаторы электронной почты, сгруппированные в массив. Предположим, что TAB1 содержит гораздо больше столбцов, которые мне действительно нужны, но в этом примере я опущен, а в TAB2 есть только эти три столбца.