Kamis, 09 Januari 2020

Concat atau Gabungan - Oracle

Gabungkan beberapa row dari suatu field menjadi satu
SELECT cd_sls_inv,
       LTRIM(MAX(SYS_CONNECT_BY_PATH(id_brg,','))
       KEEP (DENSE_RANK LAST ORDER BY curr),',')
AS elements
FROM   (SELECT cd_sls_inv,
               id_brg,
               ROW_NUMBER () OVER (PARTITION BY cd_sls_inv ORDER BY id_brg) AS curr,
               ROW_NUMBER() OVER (PARTITION BY cd_sls_inv ORDER BY id_brg) -1 AS prev
        FROM sls_inv_dtl where cd_sls_inv='SVC/1807/0011')
GROUP BY cd_sls_inv
CONNECT BY prev = PRIOR curr AND cd_sls_inv = PRIOR cd_sls_inv
START WITH curr = 1;

HASIL:
SVC/1807/0011    1,13,20,34,47

Tidak ada komentar:

Posting Komentar

Dynamic Query - SQL Server

Berikut adalah contoh dari bentuk dari Dynamic Query di SQL Server yang dibungkus ke dalam Store Procedure:  USE [Data00] GO SET ANSI_NULLS ...

Popular Posts