sql >> Database >  >> RDS >> Oracle

Implementatie van Listagg Overflow-functie (Oracle SQL)

Met een beetje hulp van XML kun je het misschien voor elkaar krijgen. Voorbeeld is gebaseerd op HR-schema.

SQL> select
  2    listagg(s.department_name, ',') within group (order by null) result
  3  from departments s, departments d;
from departments s, departments d
     *
ERROR at line 3:
ORA-01489: result of string concatenation is too long


SQL>
SQL> select
  2  rtrim(xmlagg(xmlelement (e, s.department_name || ',')).extract
  3    ('//text()').getclobval(), ',') result
  4  from departments s, departments d;

RESULT
--------------------------------------------------------------------------------
Administration,Administration,Administration,Administration,Administration,Admin

SQL>


  1. Hoe kan ik twee reeksen door komma's gescheiden getallen samenvoegen in MySQL?

  2. verbonden door maanden

  3. Zoek of een kolom in Oracle een reeks heeft

  4. Meedoen en meerdere en voorwaarden