Oracle
 sql >> база данни >  >> RDS >> Oracle

Показване на свързаните стойности в SQL заявка

Можете да използвате списък LISTAGG функция с 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;

Демонстрация на 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. Може ли подзаявка да се използва в израз на Oracle ALTER?

  2. CURSOR и REF CURSOR като JDBC тип данни

  3. Oracle:Връща множество стойности във функция

  4. Как да върна резултат от много изрази за избор като една персонализирана таблица

  5. Entity Framework и низ като NCLOB на oracle Db