0

移動サマリーを計算したい:

合計金額:100
最初の領収書:20
2回目の領収書:10

計算列の最初の行は、合計金額と最初の領収書の差です:100-20 = 80

計算列の2行目は、最初のcalculated_rowと最初の受信の差です:80-10 = 70

プレゼンテーションは、receipt_amount、balanceを提示することになっています。

領収書金額| 残高
20 | 80
10 | 70

私はあなたの助けを喜んで使用しますありがとう:-)

4

2 に答える 2

0

まず第一に、あなたの応答に感謝します。

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

そのため、計算は、最初の領収書で差額計算が合計金額から行われ、他のすべての領収書 (同じ領収書番号内) が残高から差し引かれることになっています。

ありがとう!

于 2012-12-04T13:30:01.580 に答える
0

テーブルとそれらがどのように構造化されているかについて、実際には多くの情報を提供してくれませんでした。

orderstotal_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
于 2012-12-03T14:26:58.097 に答える