Oracle 11g 或 19 版本中的 SQL 聚合

问题描述 投票:0回答:0

我正在制作 SQL,但我需要你的帮助。 我目前使用的是 oracle 19 版本或 upper 11g 版本,我猜是这样。 这是我的 sql 和下面的结果。

[SQL] 选择 SUM_DT , SUM_SUBJ_CL_CD , SUM_SUBJ_NO , (SELECT INST_NM FROM TB_FNC_INST WHERE INST_ID = SUM_SUBJ_NO) AS INST_NM , TRX_CNT 从 TS_DAY_TRX_SUM 其中 SUM_DT = '20230509' AND SUM_SUBJ_CL_CD = '8';

[数据] SUM_DT SUM_SUBJ_CL_CD myCol1 myCol2 myCol3 1 20230509 8 I000000001 A 1 2 20230509 8 I000000002 B 13 3 20230509 8 I000000003 C 8

enter image description here

但我希望数据是这样的。 enter image description here

[数据] SUM_DT SUM_SUBJ_CL_CD col1 col2 col3 col4 col5 col6 col7 col8 col9 20230509 8 I000000001 A 1 I000000002 B 13 I000000003 C 8

我该怎么做?我在 oracle 中寻找 PIVOT 函数,但我无法弄明白。

选择 * 从 ( 选择 SUM_DT , SUM_SUBJ_CL_CD , SUM_SUBJ_NO , (SELECT INST_NM FROM TB_FNC_INST WHERE INST_ID = SUM_SUBJ_NO) AS INST_NM , TRX_CNT 从 TS_DAY_TRX_SUM 其中 SUM_DT = '20230509' AND SUM_SUBJ_CL_CD = '8' ) 枢( MAX(TRX_CNT) FOR (SUM_SUBJ_CL_CD) IN ('8') );

sql oracle oracle11g aggregate aggregate-functions
© www.soinside.com 2019 - 2024. All rights reserved.