- PR -

LAG関数を利用したSQLについて

1
投稿者投稿内容
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2008-03-13 11:27
Oracle:Oracle10g Release 10.2.0.3.0

お世話になっております。

SQLのLAG関数に関しまして質問させてください。

まず、下記のようなテーブルがあります。
Code Day Value1 Value2
111 08-03-01 0 10000
111 08-03-02 10000 10100
111 08-03-03 10100 10200
111 08-03-04 10200 10100

■Code 一意ではない
■Day 日付
■Value1 Lag関数を利用してValue2の値を取得
■Value2 任意の値

これに、Lag関数を利用して、計算した結果をValue3として表示させたいと思っています。また、AのValue3を計算する際には、@のValue3を使用して計算したいのですが、
こういうことを、Lag関数を利用して、実現できますでしょうか??

イメージ的には、
 Code Day Value1 Value2 Value3
@111 08-03-01 0 10000 10000(デフォルトで、Value2の値を表示)
A111 08-03-02 10000 10100 9999(@のValue3を利用して計算)
B111 08-03-03 10100 10200 9870(AのValue3を利用して計算)
C111 08-03-04 10200 10100 9990(BのValue3を利用して計算)


以上、宜しくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)