sql >> Database >  >> RDS >> Oracle

Hoe kunnen meerdere rijen worden samengevoegd tot één in Oracle zonder een opgeslagen procedure te maken?

Van Oracle 11gR2 zou de LISTAGG-clausule moeten volstaan:

SELECT question_id,
       LISTAGG(element_id, ',') WITHIN GROUP (ORDER BY element_id)
FROM YOUR_TABLE
GROUP BY question_id;

Pas op als de resulterende string te groot is (meer dan 4000 tekens voor een VARCHAR2 bijvoorbeeld):vanaf versie 12cR2 kunnen we ON OVERFLOW TRUNCATE/ERROR gebruiken om dit probleem op te lossen.



  1. Hoe programmeer je een MySQL-trigger om een ​​rij in een andere tabel in te voegen?

  2. PostgreSQL versus MySQL

  3. Gebruikers en authenticatie beheren in MySQL

  4. mysqli::mysqli():(HY000/2002):Kan geen verbinding maken met lokale MySQL-server via socket 'MySQL' (2)