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フィドルデモ




    1. WITH句を使用したクエリでPostgresにFROM句のエントリエラーがありません

    2. MariaDBでのREGEXP_REPLACE()のしくみ

    3. SQLは2つのテーブルを1つのテーブルに結合します

    4. Postgresトリガー機能