从数组创建字符串

从数组创建字符串,第1张

数组创建字符串

您可以结合使用诸如generate_subscripts和array之类的多项 *** 作来获得结果:

with mtab as (      SELECt id, name, array_append(arrayofparents,id) as arrayofparents,      generate_subscripts(array_append(arrayofparents, id), 1) AS p_id FROM tab where id=2)select distinct array_to_string(  array(    select tab.name from tab join mtab t on tab.id=t.arrayofparents[t.p_id]  ), '->') ;

实时示例Sqlfiddle

或将外部联接与以下任何一项结合使用:

SELECt coalesce(string_agg(p.name, '->') || '->' || t.name, t.name) AS parentnamesFROM tab AS t  LEFT JOIN tab AS p ON p.id = ANY(t.arrayofparents) where t.id =7 GROUP BY t.id, t.name

实时示例Sqlfiddle



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存