このディレクトリの索引

# SQL質疑応答スレ 13問目 #669 # oracleなんですが、次の表に # # 日付 数 # 1/1 5 # 1/2 2 # 1/3 -8 # 1/4 6 # 1/5 8 # # 残と繰越を計算して↓のようにしたいのですが # どのようなSQLにすればいいでしょうか?>< # # 日付 残 数 繰越 # 1/1 0 5 5 ←初日の残はゼロ、繰越=残+数 # 1/2 5 2 7 ←残=前日の繰越 # 1/3 7 -8 -1 # 1/4 0 6 6 ←前日の繰越がマイナスなら残はゼロに # 1/5 6 8 14 # # テーブル('1/1',5). テーブル('1/2',2). テーブル('1/3',-8). テーブル('1/4',6). テーブル('1/5',8). '初日(1/1)の残'(0). 'oracleなんですが、次の表に 日付 数 1/1 5 1/2 2 1/3 -8 1/4 6 1/5 8 残と繰越を計算して↓のようにしたいのです どのようなSQLにすればいいでしょうか?>< 日付 残 数 繰越 1/1 0 5 5 ←初日の残はゼロ、繰越=残+数 1/2 5 2 7 ←残=前日の繰越 1/3 7 -8 -1 1/4 0 6 6 ←前日の繰越がマイナスなら残はゼロに 1/5 6 8 14'(_日付,_残,_数,_繰越) :- findall([_日付,_数], テーブル(_日付,_数),_日付_数ならび), '初日(1/1)の残'(_初日の残), '残と繰越の計算'(_初日の残,_日付_数ならび,_日付,_残,_数,_繰越). '残と繰越の計算'(_前日の繰越,[[_日付_1,_数_1]|R],_日付,_残,_数,_繰越) :- '前日繰越と数から残、繰越を求める'(_前日の繰越,_数_1,_残_1,_繰越_1), '残と繰越を非決定性に計算'(_残_1,_日付_1,_数_1,R,_繰越_1,_日付,_残,_数,_繰越). '残と繰越を非決定性に計算'(_残,_日付,_数,_,_繰越,_日付,_残,_数,_繰越). '残と繰越を非決定性に計算'(_残_1,_,_,R,_繰越_1,_日付,_残,_数,_繰越) :- '残と繰越の計算'(_繰越_1,R,_日付,_残,_数,_繰越). '前日繰越と数から残、繰越を求める'(_前日の繰越,_数,_残,_繰越) :- '前日の繰越がマイナスなら残はゼロに、さもなくば、残=前日の繰越'(_前日の繰越,_残), _繰越 is _残 + _数. '前日の繰越がマイナスなら残はゼロに、さもなくば、残=前日の繰越'(_前日の繰越,_残) :- 前日の繰越がマイナスなら残はゼロに(_前日の繰越,_残). '前日の繰越がマイナスなら残はゼロに、さもなくば、残=前日の繰越'(_前日の繰越,_残) :- 'さもなくば、残=前日の繰越'(_前日の繰越,_残). 前日の繰越がマイナスなら残はゼロに(_前日の繰越,_残) :- _前日の繰越 < 0, _残 = 0. 'さもなくば、残=前日の繰越'(_前日の繰越,_残) :- _前日の繰越 >= 0, _前日の繰越 = _残.