1

私は3つのフィールドを持つテーブルを持っています。すなわち

id, transferdate, placeid
---------------------------
1  | 1-4-2014 | 14 
2  | 4-4-2014 | 14 
5  | 10-4-2014| 14 
6  | 1-5-2013 | 13 
9  | 10-6-2013| 12

私が達成したいこと...可能であれば...単一のクエリ(サブクエリの数に関係なく)とプレーンSQL(ピボット、CTEなどなし)で同じものを取得することです:前の各行からplaceidのtransferdate行または次の行に移動して、それらを使用して計算を行うことができます。つまり :

 id, transferdate, placeid, nexttransferdate
    --------------------------------------------
    1  | 1-4-2014 | 14        | 4-4-2014        
    2  | 4-4-2014 | 14        | 10-4-2014 
    5  | 10-4-2014| 14        | null (or transferdate)
    6  | 1-5-2013 | 13        | null (or transferdate)
    9  | 10-6-2013| 12        | null (or transferdate)

ストアド プロシージャまたは関数のカーソル、または一時テーブルを使用してそれを達成しました。組み込みの再帰関数 (つまり、Oracle) でそれを行う方法を知っていますが、私の問題は、それをレポートのサブクエリとして使用する必要があることです。 SQL ステートメントであるため、1 つのステートメントとしてプレーンな SQL コードである必要があります。

ご回答ありがとうございます

4

2 に答える 2