递归记录oracle

时间:2016-10-10 11:50:53

标签: oracle oracle-sqldeveloper recursive-query

我目前正在尝试使用SQL Developer创建报告。

     我有这两张桌子:

 PERSONS (IDPerson, NamePerson) PENALTIES (IDPenalty, DatePenalty, Description, IDPerson)

这些表是有效的。

我怎样才能创建像

这样的表格

THIS

在SQL中使用递归查询?或者还有其他解决方案吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

select   p.nameperson as name, p.idperson as id,
         listagg(to_date(x.datepenalty, 'dd/mm/yyyy') || ' - ' || x.description, '; ')
                                      within group (order by x.datepenalty) as penalties
from     persons p left outer join penalties x
                   on p.idperson = x.idperson
group by p.idperson;

(未经测试 - 您没有提供测试数据。)