Вы можете попробовать следующее:
create table table1(id int,col1 varchar(10));
create table table2(id int,col2 varchar(10));
insert into table1 values(1,'A');
insert into table1 values(2,'B');
insert into table2 values(1,'C');
insert into table2 values(2,'D');
with q(col1, col2, id1, id2) as
(
select q1.col1, q2.col2, q1.id as id1, q2.id as id2
from table1 q1
join table2 q2
on q1.id = q2.id
)
select col1,col2,
listagg(id1 || ' - ' || id2, ', ') within group ( order by id1 ) as unique_id
from q
group by col1,col2;
COL1 COL2 UNIQUE_ID
A C 1 - 1
B D 2 - 2
вам нужно добавить group by
, как указал @Gordon, и функцию listagg
нельзя использовать в одиночку.Итак, добавлено предложение within group ( order by ..
.