我有一个名为“人”的表。它包含人的 id 和它的父 id(只有一个父是可能的)。作为查询的结果,我想要一个包含第一列的表 - 一个人 ID,第二列 - 它的子 ID 列表。究竟该怎么做?我已经阅读了 listagg 函数,但我不确定它是否适合我的目的。这个查询产生一个空的第二列:
select t1.id, (select t2.id from person t2 where t2.parent_id = t1.id) from person t1 where t1.status = 'parent';