oracle 行转列 顺序,oracle行转列及分组排序

SELECT APC.APC_NAME,

APC.APC_ID,

PTC.PTI_NAME,

TEMP.PTI_ID,

TEMP.COUNTS,

ROW_NUMBER() OVER (PARTITION BY APC.APC_ID ORDER BY TEMP.PTI_ID) ROW_NUMBER

FROM (SELECT APC_ID,

NVL(INC_PTI_ID,8) PTI_ID,

COUNT(*) COUNTS

FROM (SELECT CCI.*

FROM CX_INTEGRITY_CONTENT_INFO CCI

WHERE PTC_ID = ‘1‘

AND INC_RTC_ID = ‘02‘)

GROUP BY APC_ID,

INC_PTI_ID) TEMP

LEFT JOIN PROFESSION_TYPE_CODE PTC ON TEMP.PTI_ID = PTC.PTI_ID

RIGHT JOIN ADMIN_PUNISH_CODE APC ON TEMP.APC_ID = APC.APC_ID;

8eab06437cbd8b8fcd6238b54b1ac52a.png

SELECT APC_ID,

APC_NAME,

WM_CONCAT(PTI_ID) PTI_ID,

WM_CONCAT(COUNTS) COUNTS

FROM (SELECT *

FROM (SELECT APC.APC_NAME,

APC.APC_ID,

PTC.PTI_NAME,

NVL(PTC.PTI_ID,8) PTI_ID,

NVL(TEMP.COUNTS,0) COUNTS

FROM (SELECT APC_ID,

INC_PTI_ID,

COUNT(*) COUNTS

FROM (SELECT CCI.*

FROM CX_INTEGRITY_CONTENT_INFO CCI

WHERE PTC_ID = ‘1‘

AND INC_RTC_ID = ‘02‘)

GROUP BY APC_ID,

INC_PTI_ID) TEMP

LEFT JOIN PROFESSION_TYPE_CODE PTC ON TEMP.INC_PTI_ID = PTC.PTI_ID

RIGHT JOIN ADMIN_PUNISH_CODE APC ON TEMP.APC_ID = APC.APC_ID))

GROUP BY APC_ID,

APC_NAME;

c4fb58c605ca34a02d4aab1aae19b9ab.png

原文:https://www.cnblogs.com/oath-keeper/p/10469148.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值