当前位置: 代码迷 >> Oracle开发 >> SOS~ 关于Oracle 数据集 列转行的有关问题
  详细解决方案

SOS~ 关于Oracle 数据集 列转行的有关问题

热度:281   发布时间:2016-04-24 06:32:41.0
SOS~ 关于Oracle 数据集 列转行的问题
从一张表中查询出的数据集格式为:


金额

第一周

第二周 

第三周

现需求要求 插入另一张表中,表格式为:

月份  第一周金额   第二周金额  第三周金额


没有多少论坛分了。。   求救   多谢 多谢。。
------解决思路----------------------
按你目前给出的,周六周日我不知道你准备如何处理,目前按照一周从周日到周六的方式给你写代码吧
假设你的原始表日期字段为D
with T AS (
select to_char(D,'yyyy-mm') 月度,ceil((to_char(D,'dd')-to_char(D,'d')+to_char(trunc(D,'month'),'d'))/7) 周次,sum(金额) 金额
FROM table1
group by to_char(D,'yyyy-mm'),ceil((to_char(D,'dd')-to_char(D,'d')+to_char(trunc(D,'month'),'d'))/7)
)
select 月度,
SUM(DECODE(周次,1,金额)) 第一周金额,
SUM(DECODE(周次,2,金额)) 第二周金额,
……
from T
group by 月度
  相关解决方案