sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan flere rækker sammenkædes til én i Oracle uden at oprette en lagret procedure?

Fra Oracle 11gR2 burde LISTAGG-sætningen gøre tricket:

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

Pas på, hvis den resulterende streng er for stor (mere end 4000 tegn for f.eks. en VARCHAR2):Fra version 12cR2 kan vi bruge ON OVERFLOW TRUNCATE/ERROR til at håndtere dette problem.



  1. Kode til at validere SQL-scripts

  2. Sådan konverteres Unix-epoke til et tidsstempel

  3. Skalering af forbindelser i PostgreSQL ved hjælp af Connection Pooling

  4. ADDDATE() vs DATE_ADD() i MySQL:Hvad er forskellen?