Простой MS SQL concat может быть выполнен с помощью преобразования нужных вам строк в XML и обратно в nvarchar. Пример:
Представьте, что у вас есть 2 таблицы - одна для Контактов (с идентификатором PK) и вторая с ContactTypes (с ContactID в качестве FK, может иметь несколько строк для одного контакта). Вам нужно объединить все типы в 1 строку. Вот трюк, чтобы сделать это:
SELECT c.ContactID, CONVERT(VARCHAR(MAX), /* concatenate all Types to varchar */
(
SELECT ct.ContactTypeDescription+ ', '
FROM ContactTypes ct
JOIN Contacts c1 ON ct.ContactID = c1.ContactID
FOR XML PATH('')
)) AS ContactTypes, *
FROM Contacts c
Это должно сделать вывод следующим образом:
1 | Type1, Type2, ... | ...
2 | Type3, Type10, ... | ...
и т.д.
Не знаю о порте Oracle, надеюсь, это поможет ...