将week_no上的SQL数据放入列中

时间:2016-06-27 12:35:29

标签: sql exasolution

我想转置以下SQL结果:

A 总和 week_no
1 22
2 24

进入这样的表:

A week_22 week_23 week_24
1 0 2

我怎样才能在Oracle上实现这一目标?谢谢! (我应该考虑多年的每周数据,因此构建案例不是一种选择)

1 个答案:

答案 0 :(得分:1)

大多数情况下,我对您的样本数据假设了这个查询,它将填补第n周的空白并转动结果集

Select A,[22] [week_22],[23] [week_23],[24] [week_24] from (
Select A,Sum,Weekno from Table 
UNION
Select * from ( 
SELECT  top 1 t1.A,'' AS Sum,t1.Weekno-1 AS Weekno
FROM     Table t1
LEFT OUTER JOIN 
         Table  t2 
ON       t2.Weekno=t1.Weekno-1 
WHERE    t2.Weekno IS NULL 
AND      t1.Weekno > 0     
ORDER BY t1.Weekno desc )T)TT
PIVOT (MAX(SUM) FOR WEEKNO IN ([22],[23],[24]))PVT