Вы просто ищете string_agg()
?
select f1, string_agg(f2, '+')
from t1
group by f1;
Я действительно не рекомендую string_agg()
, если у вас нет специальной c необходимости в нем. Массивы более полезны, чем строки:
select f1, array_agg(f2)
from t1
group by f1;
Также обратите внимание, что порядок элементов в строке или массиве не гарантируется. Вы можете добавить order by f2
, если хотите.