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企业版11.1.0.7.0版-64位生产
答案 0 :(得分:0)
在this article中,您可以使用不同的方法来处理字符串聚合,包括在运行11g第2版之前的Oracle版本(您的情况)时要考虑的方法。
尤其是,您可以使用Oracle的WM_CONCAT
函数:
SELECT deptno, wm_concat(ename) AS employees
FROM emp
GROUP BY deptno;
您还可以定义自己的函数以进行字符串聚合,或使用其他函数,例如SYS_CONNECT_BY_PATH
或COLLECT
。在上面的文章中,您有这些方法的示例。