我目前正在尝试使用SQL Developer创建报告。
我有这两张桌子:
PERSONS (IDPerson, NamePerson)
PENALTIES (IDPenalty, DatePenalty, Description, IDPerson)
这些表是有效的。
我怎样才能创建像
这样的表格
在SQL中使用递归查询?或者还有其他解决方案吗? 提前谢谢。
答案 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;
(未经测试 - 您没有提供测试数据。)