Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak połączyć wiele wierszy w jeden w Oracle bez tworzenia procedury składowanej?

W Oracle 11gR2 klauzula LITAGG powinna załatwić sprawę:

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

Uważaj, jeśli wynikowy ciąg jest zbyt duży (na przykład ponad 4000 znaków dla VARCHAR2):od wersji 12cR2 możemy użyć opcji ON OVERFLOW TRUNCATE/ERROR, aby rozwiązać ten problem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC ResultSet getDate traci precyzję

  2. Liczba piątków między dwiema datami

  3. Jak utworzyć funkcję PL/SQL w bazie danych Oracle

  4. Jak dodać przesunięcie w zapytaniu wybierającym w Oracle 11g?

  5. Zrzut zużycia kursora