移動サマリーを計算したい:
合計金額:100 最初の領収書:20 2回目の領収書:10
計算列の最初の行は、合計金額と最初の領収書の差です:100-20 = 80
計算列の2行目は、最初のcalculated_rowと最初の受信の差です:80-10 = 70
プレゼンテーションは、receipt_amount、balanceを提示することになっています。
領収書金額| 残高 20 | 80 10 | 70
私はあなたの助けを喜んで使用しますありがとう:-)
移動サマリーを計算したい:
合計金額:100 最初の領収書:20 2回目の領収書:10
計算列の最初の行は、合計金額と最初の領収書の差です:100-20 = 80
計算列の2行目は、最初のcalculated_rowと最初の受信の差です:80-10 = 70
プレゼンテーションは、receipt_amount、balanceを提示することになっています。
領収書金額| 残高 20 | 80 10 | 70
私はあなたの助けを喜んで使用しますありがとう:-)
まず第一に、あなたの応答に感謝します。
SQL と ORACLE の両方の構文を使用できる Cache DB を使用しています。
基本的に、データは 2 つの異なるテーブルに配置されていますが、1 つの結合クエリにまとめています。領収書の金額が異なる行がいくつかあり、各行 (領収書) の合計金額は同じです。敵の例:
Receipt_no Receipt_amount Total_amount 残高 1 20 100 80 1 10 100 70 1 30 100 40 2 20 50 30 2 10 50 20
そのため、計算は、最初の領収書で差額計算が合計金額から行われ、他のすべての領収書 (同じ領収書番号内) が残高から差し引かれることになっています。
ありがとう!
テーブルとそれらがどのように構造化されているかについて、実際には多くの情報を提供してくれませんでした。
orders
total_amount を含むテーブルと、各レシートを (正の値として)含む recipe_table があると仮定しています。
DBMS も指定しなかったため、これは ANSI SQL です。
select sum(amount) over (order by receipt_nr) as running_sum
from (
select total_amount as amount
from orders
where order_no = 1
union all
select -1 * receipt_amount
from the_receipt_table
where order_no =
) t