根据一行中的ID显示多行-Oracle SQL
我的问题与以下几点有关: 但是,我没有达到预期的效果。以下是我的问题陈述 我有一个SQL查询 返回这些行的 带来此数据的SQL是 但是,我想要下面的结果 请帮助解决这个问题 您可以使用Listag:根据一行中的ID显示多行-Oracle SQL,oracle,pivot,transpose,Oracle,Pivot,Transpose,我的问题与以下几点有关: 但是,我没有达到预期的效果。以下是我的问题陈述 我有一个SQL查询 返回这些行的 带来此数据的SQL是 但是,我想要下面的结果 请帮助解决这个问题 您可以使用Listag: 同时,我还设法用相同的函数实现了这一点:下面是结果SELECT initiator_msisdn,listaggent_data,',“in GROUP ORDER BY agent_data grp FROM SELECT initiator_msisdn,”,trx类型:“| SUMtrx|u
同时,我还设法用相同的函数实现了这一点:下面是结果SELECT initiator_msisdn,listaggent_data,',“in GROUP ORDER BY agent_data grp FROM SELECT initiator_msisdn,”,trx类型:“| SUMtrx|u amt/100 | |”/“| summchant|u comm|u amt/100 agent|来自LBI|u DM|u MK.T|u内部|u审计的数据,其中数据日期='20180401'和trx|u状态='Completed'组由发起人| msisdn,trx|u类型组由发起人| msisdn;
SELECT initiator_msisdn, trx_type || '/' || SUM(trx_amt/100) || '/' || SUM(merchant_comm_amt/100) agent_data
FROM LBI_DM_MK.T_M_INTERNAL_AUDIT_D
WHERE DATA_DATE = '20180401'
AND trx_status ='Completed'
GROUP BY initiator_msisdn, trx_type
;
WITH cte AS (
SELECT initiator_msisdn,
trx_type || '/' || SUM(trx_amt/100) || '/' ||
SUM(merchant_comm_amt/100) agent_data
FROM LBI_DM_MK.T_M_INTERNAL_AUDIT_D
WHERE DATA_DATE = '20180401'
AND trx_status ='Completed'
GROUP BY initiator_msisdn, trx_type
)
SELECT initiator_msisdn,
LISTAGG(agent_data, '|') WITHIN GROUP (ORDER BY agent_data) AS agent_data
FROM cte
GROUP BY initiator_msisdn;