如何在oracle中使用pivot显示数据?

时间:2014-06-05 02:19:40

标签: oracle pivot oracle-sqldeveloper plsqldeveloper

我花了一个小时来显示每周结果中的数据,但我总是无法显示它。我是枢纽的新手。

请帮帮我。

谢谢!

需要生成示例数据:

Data,03/10/2014,200,150,186,172
Data,03/16/2014,144,115,181,157
Data,03/22/2014,130,198,136,393

这是脚本:

select 'Data,'''
||(
select listagg(SIM_id,''',''') within group (order by 1)
from (
    select distinct substr(dst_channel,1,14) as SIM_id
    from table1
    where dst_channel like 'SIP/item__-%'
)
)
from dual;
select 'Data'
 ||','||dtime_day
 ||','||g1_cnt
 ||','||g2_cnt
 ||','||g3_cnt
 ||','||g4_cnt
 from (
 select 'Data'
      ,to_char(d.dtime_day,'MM/dd/yyyy') as dtime_day
      ,substr(c.dst_channel,1,14) as dst_channel
from table2 d
left join table1
on c.call_date = d.dtime_day
where c.dst_channel like 'SIP/item%'
and c.status like 'ANSWERED%'
and d.dtime_day between trunc(sysdate, 'IW')-(12*7) and trunc(sysdate) -1
)
pivot(
count(dst_channel) as cnt
for dst_channel in (
    'SIP/item01' as g1,'SIP/item02' as g2,'SIP/item03' as g3,'SIP/item04' as g4
    )
 )
order by dtime_day

上述查询结果:

Data,03/10/2014,147,103,86,76
Data,03/11/2014,144,115,81,57
Data,03/12/2014,130,98,59,39

0 个答案:

没有答案