Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql借贷余额计算_Php_Mysql_Mysqli - Fatal编程技术网

Php Mysql借贷余额计算

Php Mysql借贷余额计算,php,mysql,mysqli,Php,Mysql,Mysqli,下表是我用php mysql制作的小型金融web应用程序。 我需要帮助在mysql中计算借贷余额 1.表:条目 +----+---------+------------+------------+ | ID | TYPE_ID | NARRATION | DATE | +----+---------+------------+------------+ | 1 | 3 | Test Input | 2015-01-05 | | 2 | 2 | Test

下表是我用php mysql制作的小型金融web应用程序。 我需要帮助在mysql中计算借贷余额

1.表:条目

+----+---------+------------+------------+
| ID | TYPE_ID | NARRATION  |    DATE    |
+----+---------+------------+------------+
|  1 |       3 | Test Input | 2015-01-05 |
|  2 |       2 | Test Input | 2015-02-07 |
|  3 |       2 | Test Input | 2015-04-02 |
+----+---------+------------+------------+
2.表:分录项目

+----+----------+-----------+-------+--------+
| ID | ENTRY_ID | LEDGER_ID | TYPE  | AMOUNT |
+----+----------+-----------+-------+--------+
|  1 |        1 |         1 | D     |   2000 |
|  3 |        1 |         2 | C     |   2000 |
|  4 |        2 |         2 | D     |    550 |
|  5 |        2 |         1 | C     |    550 |
+----+----------+-----------+-------+--------+
因此,我能够列出分类账ID为1的金额

SELECT e.date AS date,
 i.type AS type,
 i.amount AS amount
FROM entries AS e LEFT JOIN entry_items AS i ON e.id=i.entry_id
WHERE i.ledger_id = '1'
所以结果如下

+------------+---+------+
| 2015-01-05 | D | 2000 |
| 2015-02-07 | C |  550 |
+------------+---+------+
到目前为止,我还没有找到计算余额的方法

我想要的结果是:

+------------+------+---------+---------+
|    Date    | Type | Amount  | Balance |
+------------+------+---------+---------+
| 2015-01-05 | D    |    2000 |    2000 |
| 2015-02-07 | C    |     550 |    1450 |
+------------+------+---------+---------+
我完全不知道我当前的代码:

SELECT e.date AS date,
 i.type AS type,
 i.amount AS amount,
 SUM(COALESCE(CASE WHEN type = 'D' THEN amount END,0)) 
 - SUM(COALESCE(CASE WHEN type = 'C' THEN amount END,0)) balance
FROM entries AS e LEFT JOIN entry_items AS i ON e.id=i.entry_id
WHERE i.ledger_id = '1'

你试过用这种方法吗?