복붙노트

[SQL] 오라클 SQL listagg 기능

SQL

오라클 SQL listagg 기능

나는 확실히 내가이 기능을 사용한 적이 주로하기 때문에, 여기에서 일어나고 있지 않다 무엇을,하지만 우리의 오라클 11g 데이터베이스에 listagg 기능을 사용할 때 그것은 나에게 기대 위치를 찾을 수없는 키워드에서 ORA-00923을 제공합니다.

여기 내 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

난 안이 깨는 이유 단서가있다. 나는 여기에있는 예제를 따라했다.

해결법

  1. ==============================

    1.당신은 11.1 또는 11.2를 사용하고 있습니까? LISTAGG가 11.2에 도입 된, 그것은 11.1에서 사용할 수 없습니다.

    당신은 11.1 또는 11.2를 사용하고 있습니까? LISTAGG가 11.2에 도입 된, 그것은 11.1에서 사용할 수 없습니다.

    귀하의 SQL 문은 11.2 나에게 유효 보인다. 하지만 11.1에서 오류가 발생하는 것 및 ORA-00923는 11.1에서 합리적인 오류처럼 보인다.

  2. from https://stackoverflow.com/questions/5569633/oracle-sql-listagg-function by cc-by-sa and MIT license