SELECT
T.ELES_FLG,
T.SENDUNIT_NAME,
T.ROM_SEQNO,
LTRIM(MAX(SYS_CONNECT_BY_PATH(T.MODEL, ',')), ',') MODEL
FROM (SELECT
ELES_FLG,
SENDUNIT_NAME,
ROM_SEQNO,
MODEL,
MIN(MODEL) OVER(PARTITION BY ELES_FLG, SENDUNIT_NAME, ROM_SEQNO) MODEL_MIN,
(ROW_NUMBER() OVER(ORDER BY
ELES_FLG,
SENDUNIT_NAME,
ROM_SEQNO,
MODEL)) +
(DENSE_RANK() OVER(ORDER BY
ELES_FLG,
SENDUNIT_NAME,
ROM_SEQNO)) NUMID
FROM P_M32003_SENDUNIT_MODEL) T
START WITH MODEL = MODEL_MIN
CONNECT BY NUMID - 1 = PRIOR NUMID
GROUP BY T.ELES_FLG, T.SENDUNIT_NAME, T.ROM_SEQNO
列转行的Oracle SQL实例
最新推荐文章于 2022-01-28 14:40:18 发布