Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据一行中的ID显示多行-Oracle SQL_Oracle_Pivot_Transpose - Fatal编程技术网

根据一行中的ID显示多行-Oracle SQL

根据一行中的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

我的问题与以下几点有关:

但是,我没有达到预期的效果。以下是我的问题陈述

我有一个SQL查询

返回这些行的

带来此数据的SQL是

但是,我想要下面的结果

请帮助解决这个问题

您可以使用Listag:


同时,我还设法用相同的函数实现了这一点:下面是结果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;