您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Oracle 10g中的LISTAGG替代

Oracle 10g中的LISTAGG替代

尝试XMLAGG像这样使用:

select
    p.PeopleID,
    rtrim(xmlagg(xmlelement(e, s.SiteName, ',')).extract('//text()').getclobval(), ',')
from people p
join site s on p.SiteID = s.SiteID
group by p.PeopleID;

如果您需要按特定顺序进行连接,例如按SiteId的升序排列,则order by在xmlagg中添加一个子句:

select
    p.PeopleID,
    rtrim(xmlagg(xmlelement(e, s.SiteName, ',')
                   order by s.SiteId).extract('//text()').getclobval(), ',')
from people p
join site s on p.SiteID = s.SiteID
group by p.PeopleID;
Oracle 2022/1/1 18:44:27 有317人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶