使用 listagg(合并字段,‘连接符号’) within group (order by 字段) 来实现列转行(需要oracle是11或以上)
举个例子:
WM_CONCAT()函数,默认用,隔开
select t.table_key, wmsys.wm_concat(t.name) AS result
from TEST_TABLE t
where t.id = #{id}
group by t.table_key
order by t.create_time
替换后 listagg()函数
select t.table_key,
listagg(t.name, ',') within group(order by t.create_time) AS result
from TEST_TABLE t
where t.id = #{id}
group by t.table_key