如何从sql中的另一行获取数据而不将表连接到自身

时间:2017-11-26 12:10:07

标签: sql oracle

我有一张桌子:

Date        ID1    ID2  ID3    Data1    Data2

JAN-17        1     7    1       2       3
JAN-17        1     7    2       3       4
Feb-17        1     7    1       3       4
MAR-17        1     7    1       2       3
JAN-17        2     8    1       4       1
FEB-17        2     7    1       1       2
MAR-17        2     7    2       1       2

表的复合键是Date + ID1 + ID2 + ID3。

输出应为:

Month  ID1    ID2   ID3                 Data
Jan-17  1     7       1        Data2(Jan)+Data2(Feb)+Data2(Mar(3+4+3)
Feb-17  1     7       1        Data1(Jan)+Data2(Feb)+Data2(Mar(2+4+3)
Mar-17  1     7       1         Data1(Jan)+Data1(Feb)+Data2(Mar)(2+3+3)

季度从1月开始,如果月份是季度的第一个月,则第一个月的产量应该是:第一个月的数据1和未来2个月的数据2

如果月份是季度的第2个月,则输出应为上个月的Data1和第2个月的data2 +第3个月的data2

如果月份是季度的第3个月,则第3个月的输出应为第一个月的Data1 +第2个月的Data1 +第3个月的Data2。

我正在使用oracle数据库。 有人可以帮忙。

0 个答案:

没有答案