これが可能かどうかは定かではありませんが、標準のクエリを使用することはできませんが、データをどのようにしたいかを次に示します。
START END SETTLE NEW_SETTLE CORRECTION_FACT STORED_SETTLE
1 2 120 NULL 1 120
2 3 127 119 1.0084 128.0668
3 4 NULL 125 1.0245344 NULL
計算は次のように行われます。
CORRECTION_FACT
基本的に、NEW SETTLE が null の場合、またはこれが行 1 の場合、補正係数は常に 1 です。行 > 1 の場合、補正係数はPREV ROW STORED_SETTLE / NEW_SETTLE
例です。120/119
STORED_SETTLE
これは常にCORRECTION_FACTOR
*になりますSETTLE
。この値は、次の行が挿入されるまでわからないため、NULL になる場合があります。トリッキーな部分は、これCORRECTION_FACT
も計算された値であり、CORRECTION_FACT
依存しているに依存していることSTORED_SETTLE
です。
私が持っている価値観に関して言えば、私はSETTLE, NEW_SETTLE, START
とを持っていEND
ます。 常に計算する必要がありますCORRECTION_FACT
。STORED_SETTLE
ここでの質問は、ある種の再帰クエリまたは分析関数を使用してこれを行うことができるか、それとも入力するスクリプトを作成する必要があるかということです。