oraclesqllistagg函数

oraclesqllistagg函数,sql,oracle,ora-00923,Sql,Oracle,Ora 00923,我不确定这里发生了什么,主要是因为我从来没有使用过这个函数,但当我在Oracle 11g数据库上使用Listag函数时,它会给我一个ORA-00923 FROM关键字not found where FAND 这是我的SQL SELECT cdm.courses_id,cde.additional_resources, listagg (dm.delivery_method_desc, ',') WITHIN GROUP (ORDER BY dm.delivery_method_desc) de

我不确定这里发生了什么,主要是因为我从来没有使用过这个函数,但当我在Oracle 11g数据库上使用Listag函数时,它会给我一个ORA-00923 FROM关键字not found where FAND

这是我的SQL

SELECT  cdm.courses_id,cde.additional_resources, listagg (dm.delivery_method_desc, ',')
WITHIN GROUP (ORDER BY dm.delivery_method_desc) delivery_methods
FROM    tablespace.course_de_delivery_methods cdm,
      tablespace.course_distance_ed cde,
      tablespace.delivery_methods dm
WHERE   cdm.courses_id = cde.courses_id
AND   cdm.delivery_methods_id = dm.delivery_methods_id
GROUP BY cdm.courses_id

我一点也不知道为什么会这样。我正在遵循发现的示例

您使用的是11.1还是11.2?Listag是在11.2中引入的,但在11.1中不可用


在11.2中,您的SQL语句对我来说是有效的。但是在11.1中会出现一个错误,ORA-00923在11.1中看起来是一个合理的错误。

在我看来很好。你确定db是11g吗。您可以通过
从v$version中选择横幅进行检查我运行了Conrad在评论中提到的查询,看起来我们运行的是11.1而不是11.2。谢谢,伙计,时间一到,我就把这个标记为答案。+1我没意识到这是唯一的11.2。如果我有11.1,我会认为它应该工作。这个错误也会出现在11.2中<代码>Oracle Database 11g Enterprise Edition 11.2.0.3.0版-64位生产PL/SQL 11.2.0.3.0版-生产核心11.2.0.3.0 Solaris生产TNS:11.2.0.3.0版-生产NLSRTL 11.2.0.3.0版-生产
@cyborg007-您正在运行的查询是什么?@cyborg007-您需要的查询posted正在调用
list\u agg
,而不是
listag
。您的查询与原始问题所使用的查询完全不同,因此,如果找不到语法错误,则可能需要创建一个单独的问题。