将公式转换为 SQL 查询

Converting a formula into a SQL query

我正在构建一个系统,它将向用户输出当前总余额。

我有三个 MySQL table,第一个 Members table 其中用户数据会话获得 Member_ID 第二个是 Regular_Savings和第三个(输出Table)Current_Balance

我有计算利息的数学公式(见下文)

我想 Total_BalanceCurrent_Balance table 中使用输出当前余额,我试图使用下面的查询但认为我犯了一些错误。

查询和 Codeigniter 模型代码

function get_bank()
    {
        $this->db->SELECT(`Principle` * (POWER((1 + (`Annual_Rate_Interest` DIV `Compound`)),(`Valid_For` * `Compound`)))) +((`monthly_deposit` * (POWER((1 + (`Annual_Rate_Interest` DIV `Compound`)),(`Valid_for` * `Compound`)) -1)) DIV(`Annual_Rate_Interest` DIV `Compound`)) as fav, $this->session->userdata("Member_ID"));
        $query = $this->db->get('Regular_Savings');
        return $query->result();
    }

公式

非常感谢所有帮助, 谢谢。

******************更新*********************

正如评论中所建议的,我可以使用 PHP,我认为下面的代码很接近,但不正确,有什么想法吗?

可能的PHP解决方案

<?php
function interest($Principle,$Compound,$Annual_Rate_Intrest,$Valid_For){
    $Accumulated=0;
    if ($Compound > 1){
            $Accumulated=interest($Principle,$Compound-1,$Annual_Rate_Intrest,$Valid_For);
            }
    $Accumulated += $Principle;
    $Accumulated = $Accumulated * pow(1 + $Annual_Rate_Intrest/(100 * $Valid_For),$Valid_For);
    return $Accumulated;
    }
?>

使用您 table 中概述的速记,计算结果应该是

// p : principal
// i : annual rate interest
// c: compound
// n : valid for
// R : monthly deposit

// calculate the terms that appear twice
$x = $i / $c;
$y = pow ( (1 + $x), ($n * $c) );

$vf = $p * $y + ( ($R * $y - 1 ) / $x );