SQL 超过 week_no 的数据进入列
SQL data over week_no into columns
我想转置以下 SQL 结果:
A总和 week_no
a 1 22
a 2 24
像这样变成table:
Aweek_22week_23week_24
a1             0             2            
我如何在 Oracle 上实现这一点?谢谢! (我应该考虑多年来的每周数据,所以构建案例不是一种选择)
大多数情况下,我假设此查询是针对您的示例数据,它将填补第 1 周的空白并转置结果集
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
我想转置以下 SQL 结果:
A总和 week_no
a 1 22
a 2 24
像这样变成table:
Aweek_22week_23week_24
a1             0             2            
我如何在 Oracle 上实现这一点?谢谢! (我应该考虑多年来的每周数据,所以构建案例不是一种选择)
大多数情况下,我假设此查询是针对您的示例数据,它将填补第 1 周的空白并转置结果集
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