1. 程式人生 > >sql 同一列的多行內容拼接成字串

sql 同一列的多行內容拼接成字串

SELECT
L4.plan_id
,MAX(SUBSTR(L4.分組內容,2)) display_theme
FROM(
        SELECT
        L3.plan_id
        ,SYS_CONNECT_BY_PATH(L3.theme_name,';') AS 分組內容
        FROM(
                SELECT
                L2.plan_id
                ,L2.theme_name
                ,L2.plan_id||L2.分組內編號 AS 分組欄位加編號,L2.plan_id||(L2.分組內編號-1
) AS 上級分組欄位加編號 FROM( SELECT L1.plan_id -- 分組依據 ,L1.theme_name -- 同一列中 要合併的不同行 的值 ,ROW_NUMBER() OVER (PARTITION BY L1.plan_id ORDER BY L1.theme_name ASC) 分組內編號 FROM
t_display_config_theme L1 ) L2 ) L3 START WITH L3.上級分組欄位加編號 LIKE '%0' CONNECT BY PRIOR L3.分組欄位加編號=L3.上級分組欄位加編號 ) L4 GROUP BY L4.plan_id