我有以下表格,但我不知道如何根据借方和贷方栏来计算下面的余额和状态栏?如何在sql中计算余额?
| ID | AR_DATE |ACC_CODE | ACC_NAME | DETAILS | DEBIT | CREDIT | BALANCE ?| STATUS?|
----------------------------------------------------------------------------------------
| 1 | 2013-04-10 | 101 | A/R | Kofi | 500 | 0 | 500 | Debit |
| 2 | 2013-04-10 | 101 | A/R | AMA | 0 | 250 | 250 | Debit |
| 3 | 2013-04-11 | 101 | A/R | Boss | 0 | 50 | 200 | Debit |
| 4 | 2013-04-12 | 101 | A/R | Jhon | 0 | 300 | 100 | Credit |
如果最后余额为-100? – Bas
这是说,温和地说,不是一个好的餐桌设计。例如,你永远不知道“Balance”本身是否真的是“正面”或“负面”。你总是要看“状态”。如果不是'Debit/Credit'字段,你只需要一个带有'500,-250,-50,-300'的'Changes'字段,就可以轻松计算出你需要的任何东西。现在,我知道财务软件有一些荒谬的要求,但是当你可以显示你所显示的表格这样的数据时,它至少不是数据存储的关键。 – Corak
@Corak这是一个基于前一记录余额的运行总计算。在这种情况下,可以忽略这种状态,因为(借记卡 - 信用卡)将使您获得交易的实际价值。这可能是由于性能要求,您希望将余额保留在那里,至少作为存储的计算值。 – Bas