首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个表连接的Oracle LISTAGG

具有多个表连接的Oracle LISTAGG
EN

Stack Overflow用户
提问于 2021-02-28 10:52:40
回答 1查看 42关注 0票数 1

我使用的是Oracle18.c,我有一个连接三个表的查询。它工作得很好。

查询会产生如下结果:

在许多情况下,给定事件有多个演示者。就像541的Prim_Key一样。我想将给定事件的演示者分组在一起,这样结果将如下所示:

我尝试使用LISTAGG函数,但似乎不能正确使用。这是我尝试过的方法。

这会产生一个错误: ORA-00937:不是一个单组分组函数。当我有多个表连接时,如何使用LISTAGG?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-28 10:58:13

您必须添加一个GROUP BY子句

代码语言:js
复制
select ae."PRIM_KEY", 
ae."EVENT_DATE",
ae."EVENT_NAME",
LISTAGG(ac."FIRST_NAME" || ' ' || ac."LAST_NAME", ',') WITHIN GROUP (ORDER BY ac."LAST_NAME") as "PRESENTER"
from    "AFF_EVENT_V" ae
      , "AFF_CONTACT" ac
      , "AFF_EVENT_PRESENTER" aep
where   aep."EVENT_FKEY" = ae."PRIM_KEY"
and     aep."CONTACT_FKEY" = ac."PRIM_KEY"
Group BY 
ae."PRIM_KEY", 
ae."EVENT_DATE",
ae."EVENT_NAME"
Order by event_date desc
;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66405403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档