У меня есть следующая таблица, но я не знаю, как вычислить столбцы баланса и состояния, как показано ниже, на основе дебетовых и кредитных столбцов?Как рассчитать баланс в 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
Это, мягко говоря, не хороший дизайн стола для работы. Например, вы никогда не знаете, действительно ли «Баланс» действительно «положительный» или «отрицательный». Вы всегда должны смотреть на «Статус». Если вместо полей 'Debit/Credit' у вас будет только одно поле« Changes »с« 500, -250, -50, -300 », вы можете легко вычислить все, что вам нужно. Теперь я знаю, что у финансового программного обеспечения есть некоторые нелепые требования, но не по крайней мере важно хранить данные, когда вы можете * отображать * данные, подобные приведенной таблице. – Corak
@Corak - это текущий общий расчет, основанный на балансе предыдущей записи. Статус может быть проигнорирован в этом контексте, поскольку (Дебет - Кредит) получит фактическое значение транзакции. Это может быть связано с требованиями к производительности, которые вы хотите сохранить в балансе, по крайней мере, в качестве хранимого вычисленного значения. – Bas