我是新來的SQL,我試圖將分散在幾行的一組評論分組。具體而言,我想彙總RMK_TEXT列,並通過RMK_LINENO訂購。甲骨文:Listagg
任何人都可以幫我嗎?
SELECT
ALL_AGREEMENTS.AGMT_NUM,
PROVISION_TYPES.STIP_TYPE_DESC,
GENERAL_REMARK_TEXT.RMK_LINENO,
LISTAGG(GENERAL_REMARK_TEXT.RMK_TEXT) WITHIN GROUP (ORDER BY GENERAL_REMARK_TEXT.RMK_LINENO) RMK_TEXT
FROM
STIPULATION_PROVISIONS,
ALL_AGREEMENTS,
STIPULATION_TYPES PROVISION_TYPES,
GENERAL_REMARK_TEXT,
GENERAL_REMARKS
WHERE
(ALL_AGREEMENTS.ARRG_KEY=STIPULATION_PROVISIONS.ARRG_KEY(+) )
AND (STIPULATION_PROVISIONS.STIP_TYPE_CODE=PROVISION_TYPES.STIP_TYPE_CODE(+) )
AND (PROVISION_TYPES.STIP_CATG_CODE = 'PRV' )
AND (GENERAL_REMARKS.GEN_RMK_FK(+)=STIPULATION_PROVISIONS.STIP_KEY AND GENERAL_REMARKS.RMK_TYPE_CATG(+) = 'PRV' )
AND (GENERAL_REMARKS.RMK_KEY = GENERAL_REMARK_TEXT.RMK_KEY(+) )
AND (GENERAL_REMARKS.RMK_TYPE_CATG (+) = 'PRV' )
AND ((ALL_AGREEMENTS.ARRG_ORG_KEY IN
(SELECT ARRG_ORG_KEY
FROM BO_USER_DATA_PRIVS
WHERE OBJECT_TYPE_CD = 'area'
AND SEC_USER_ID = UPPER('user'))
AND ALL_AGREEMENTS.SUBJ_CODE IN
(SELECT SUBJ_CODE
FROM BO_USER_DATA_PRIVS
WHERE OBJECT_TYPE_CD = 'SUBJ'
AND SEC_USER_ID = UPPER('user'))) )
AND
(
(
ALL_AGREEMENTS.AGMT_NUM IN ('00003000','00004000','00005001','00005002','00005003','00006000','00007000','00008000','00009000','00010000','00021000','00022000','00023000','00024000','00025000','00026000')
)
AND
PROVISION_TYPES.STIP_TYPE_DESC IN ('provision' )
AND
STIPULATION_PROVISIONS.EXST_FLAG IN ('Y' )
)
GROUP BY ALL_AGREEMENTS.AGMT_NUM
什麼是你的問題? –
我不能完全弄清楚如何將listagg函數合併到我的select語句中以使其正確排序。 – user3111598
[SQL Query連接來自Oracle中多行的列值]的可能重複(http://stackoverflow.com/questions/4686543/sql-query-to-concatenate-column-values-from-multiple-rows-in- oracle) –