8

我不确定这里发生了什么,主要是因为我从来没有使用过这个函数,但是当我在我们的 Oracle 11g 数据库上使用 listagg 函数时,它给了我一个 ORA-00923 FROM 关键字在预期的地方找不到。

这是我的 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

我不知道为什么会这样。我正在按照此处找到的示例进行操作。

4

1 回答 1

18

您使用的是 11.1 还是 11.2?LISTAGG 是在 11.2 中引入的,它在 11.1 中不可用。

您的 SQL 语句在 11.2 中对我来说是有效的。但是你会在 11.1 中得到一个错误,并且 ORA-00923 在 11.1 中似乎是一个合理的错误。

于 2011-04-06T16:20:28.100 回答