Привет, ребята, я кодировал и не могу найти хорошее решение этой проблемы... Пример: из таблицы BILLING есть 2 счета, которые стоят за январь 1500 и 2 000 000 000 фунтов стерлингов. Из таблицы ОПЛАТЫ клиент заплатил 2 000, и эта сумма должна вычитать к январскому биллу и февральскому биллу с 2000 года больше, чем сумма января, поэтому автоматически следует вычесть 500 на следующий BILL февраля или около того. Таблица
ВЫВОД
AMOUNT PAID - 2,000
| MONTH | BILL | AMT PAID | BALANCE |
-------------------------------------------------------
| January | 1,500 | 2,000 | -500 |
| February | 2,000 | 500 | 1,500 |
QUERY
SQL BILLING
| MONTH | BILL |
| JAN | 1500 |
| FEB | 2000 |
$query = SELECT MONTH, BILL FROM billing
$amt_paid = 2000;
foreach($query as $row){
$actual_paid = $amt_paid;
$actual_bal -= $actual_paid;
echo '<tr>';
echo '<td>'.$row->MONTH.'</td>';
echo '<td>'.$row->BILL.'</td>';
echo '<td>'.$actual_paid.'</td>';
echo '<td>'.$actual_bal.'</td>';
}
WRONG RESULT
| MONTH | BILL | AMT PAID | BALANCE |
-------------------------------------------------------
| January | 1,500 | 2,000 | -500 |
| February | 2,000 | 2,000 | 0 |
Я хочу показать точную сумму и баланс. пожалуйста, помогите, я надеюсь, вы догадаетесь, что я хочу сказать: D
- У вас должен быть месяцIndex или datetime в вашей таблице
select t0.MONTHNAME, t0.bill, t0.pay, (select sum(bill - pay) from billing t1 where t1.MONTHINDEX <= t0.MONTHINDEX) bal
from billing t0