我有一张table叫 transaction
. acc\u type是存在的事务类型。
income account = 101,102,103,104,105,106
outcome account = 111,112,113,114,115,116
在下面的示例表中,101是收入,111是结果。
___________________________________________
|id|mem_id|name|date |acc_type|amount |
-------------------------------------------|
| 1|m01 |A |1/6/2020|101 |150 |
| 2|m01 |A |2/6/2020|101 |200 |
| 3|m01 |A |3/6/2020|111 |100 |
| 4|m02 |B |3/6/2020|101 |150 |
| 5|m02 |B |3/6/2020|111 | 50 |
| 6|m02 |B |4/6/2020|101 |100 |
| 7|m03 |C |4/6/2020|102 |500 |
| 8|m03 |C |5/6/2020|112 | 50 |
| 9|m03 |C |5/6/2020|112 |100 |
--------------------------------------------
所以,如果数据有相同的 mem_id
以及 acc_type
=101将被聚合。但如果 acc_type
111将被减去。
可以创建如下最新余额表:
_______________________________________________________
|id|mem_id|name|date |acc_type|amount |balance |
-------------------------------------------|------------
| 1|m01 |A |1/6/2020|101 |150 |150 |
| 2|m01 |A |2/6/2020|101 |200 |350 |
| 3|m01 |A |3/6/2020|111 |100 |250 |
| 4|m02 |B |3/6/2020|101 |150 |150 |
| 5|m02 |B |3/6/2020|111 | 50 |100 |
| 6|m02 |B |4/6/2020|101 |100 |200 |
| 7|m03 |C |4/6/2020|102 |500 |500 |
| 8|m03 |C |5/6/2020|112 | 50 |450 |
| 9|m03 |C |5/6/2020|112 |100 |350 |
--------------------------------------------------------
如果是,应用的最佳方法是什么(视图、触发器、过程还是事务?)。我需要这个余额表,特别是每个成员的每个帐户类型的余额值。
我使用10.4.6-mariadb和vb.net作为界面,谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!