在一个查询中组合UNPIVOT和SUM

时间:2014-03-17 08:56:18

标签: sql oracle

我想取消一些我曾经设法做的数据列没有问题,我的问题是我需要在数据之间进行计算才能取消数据 - 这可能吗?我试过做一个SUM,但我一直在找一个"缺少逗号"错误,所以我怀疑有些事情是不对的。

这是我正在使用的语法:

select 
unpvt.YY,
substr(unpvt.ACCT,1,6) CC,
substr(unpvt.ACCT,7,5) Nom,
substr(unpvt.ACCT,12,6) Det,
substr(unpvt.ACCT,18,4) Fund,
substr(unpvt.period,9,2) Period,
unpvt.Value
from TEBBALS b
INNER JOIN (select CMPY,SYSREF,ACCT FROM TEBACCT WHERE CMPY = 'RC' and PATH = '0') 
d  on b.CMPY = d.CMPY and b.SYSREF = d.SYSREF
unpivot(value for period in 
(
OPEN_BAL,
PER_BAL_01, 
PER_BAL_02, 
PER_BAL_03,
PER_BAL_04, 
PER_BAL_05, 
PER_BAL_06,
PER_BAL_07,
PER_BAL_08,
PER_BAL_09,
PER_BAL_10,
PER_BAL_11,
PER_BAL_12 ) )unpvt
WHERE YY = '2013'

PER_BAL *字段包含句点结尾处的余额,我需要它来显示句点之间的移动,因此我需要在句点之间进行计算,因此(PER_BAL_01 - OPEN_BAL), (PER_BAL_02 - PER_BAL_01)等。

任何想法?

0 个答案:

没有答案