Existem algumas maneiras, dependendo de qual versão você possui - consulte a documentação da oracle sobre técnicas de agregação de strings. Uma muito comum é usar
LISTAGG
:SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description
FROM B GROUP BY pid;
Em seguida, junte-se a
A
para escolher os pids
você quer. Observação: Pronto para uso,
LISTAGG
só funciona corretamente com VARCHAR2
colunas.