05.10.2011 08:11 ⚗нет
Столкнулся на днях с небольшой проблемой.
в запросе надо было выводить через точку с запятой значения примечаний (если они есть) из дочерней таблицы.
Другими словами, мне надо было конкатенировать записи таблицы.
Как оказалось, это не так уж и сложно и решается вполне штатными средствами Oracle:
select
(SELECT SYS_XMLAGG(XMLELEMENT(COL,DECODE(IH.AMORT_NOTE,NULL,NULL,IH.AMORT_NOTE || '; '))) .EXTRACT('/ROWSET/COL/text()').GETSTRINGVAL()
FROM INVHIST IH
WHERE IH.PRN = INV.RN
) from inventory inv where …