Не в состоянии использовать LISTAGG - PullRequest
0 голосов
/ 26 ноября 2018
SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
FROM   emp
GROUP BY deptno;
Error:- 
ORA-00923: FROM keyword not found where expected
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
Error at Line: 1 Column: 42

Oracle Database 11g Enterprise Edition, выпуск 11.1.0.7.0 - 64-разрядная версия

1 Ответ

0 голосов
/ 12 декабря 2018

В этой статье у вас есть разные подходы к работе с агрегацией строк, в том числе те, которые следует учитывать, если вы используете версию Oracle до 11g Release 2 (это ваш сценарий).

В частности, вы можете использовать функцию Oracle WM_CONCAT:

SELECT deptno, wm_concat(ename) AS employees
FROM   emp
GROUP BY deptno;

Вы также можете определить свою собственную функцию для агрегирования строк или использовать другие функции, такие как SYS_CONNECT_BY_PATH или COLLECT.В приведенной выше статье у вас есть примеры этих методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...