Мне нужна таблица выписок по счетам в PHP и SQL - PullRequest
0 голосов
/ 12 апреля 2020

Пожалуйста, мне нужна помощь специалиста. Я новичок здесь.

Я хочу отобразить таблицу, которая покажет Balance = Amount - Cost, как показано ниже, но в таблице следует уменьшить сумму на основе вычтенных затрат. Таблица 1 - это то, что я получил из своего кода, первая строка была в порядке, но мы видим таблицу 2 как ожидаемую таблицу.

ID         Amount   COST   Balance
P20/0050   10000    2000   8000
P20/0050   1000     9000   1000
P20/0050   4000     6000  -2000

Первая строка была в порядке, но впоследствии она должна установить сумму в Balance и т. Д. вкл.

Ожидаемая таблица

ID         Amount   COST   Balance
P20/0050   10000    2000   8000
P20/0050   8000     9000   -1000
P20/0050   1000     6000  -5000

Мой код:

$sql = "SELECT ID, card_number, Fullname, Phone, Sickness, Treatment,Amount, Cost_of_treatment, 
        Amount-Cost_of_treatment AS Balance, Transaction_Date, Blood_group FROM treatment WHERE 
        card_number='$card_number'";

1 Ответ

0 голосов
/ 12 апреля 2020

Если вы используете базу данных, которая поддерживает оконные функции, это так же просто, как сумма окон:

SELECT 
    ID, 
    card_number, 
    Fullname, 
    Phone, 
    Sickness, 
    Treatment,
    Amount, 
    Cost_of_treatment, 
    SUM(Amount - Cost_of_treatment) OVER(PARTITION BY id ORDER BY Transaction_Date) AS Balance, 
    Transaction_Date, 
    Blood_group 
FROM treatment 
WHERE card_number = ?
...