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

Pokaż połączone wartości w zapytaniu SQL

Możesz użyć listy LISTAGG funkcja z DECODE :

SELECT NAME, NO, 
       LISTAGG(DECODE(RODZ_ST,'JEW',IDENT_ST,NULL), ',') WITHIN GROUP (ORDER BY t.ID DESC, RODZ_ST) AS JEWS,
       LISTAGG(DECODE(RODZ_ST,'DZE',IDENT_ST,NULL), ',') WITHIN GROUP (ORDER BY t.ID , RODZ_ST) AS DZE,
       LISTAGG(DECODE(RODZ_ST,'OBR',IDENT_ST,NULL), ',') WITHIN GROUP (ORDER BY t.ID , RODZ_ST) AS OBR
  FROM ORDERS o
   LEFT JOIN TYPES t ON t.ID_PR = o.ID_ZM
  GROUP BY NAME, NO;

Pokaz SQL Fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Erlang i jego zużycie pamięci sterty

  2. Wyzwalaj błąd instrukcji if-else, który nie jest zgłaszany

  3. Uzyskaj rekordy na podstawie maksymalnej wartości kolumny

  4. Pobieranie ORA-01031:niewystarczające uprawnienia podczas odpytywania tabeli zamiast ORA-00942:tabela lub widok nie istnieje

  5. Zapobiegaj wstawianiu spustu