2016-03-05 154 views
-1
ID Type Type_Description Amount Balance 
41 85 incoming transaction  100  100 
41 55 outgoing transaction  76.6 23.4 
41 55 outgoing transaction  23.4  0 
41 90 incoming transaction  24.1 24.1 
41 55 outgoing transaction 14.19 9.91 
41 63 Sweep Off Amount   9.91  0 
42 85 incoming transaction  100  100 
42 55 outgoing transaction  76.6 23.4 
42 55 outgoing transaction  23.4  0 
42 90 incoming transaction  24.1 24.1 
42 55 outgoing transaction 14.19 9.91 
42 63 Sweep Off Amount   9.91  0 

我要计算从Trs_Amount,平衡其中
TRANSACTION_TYPE == 85表示一个(初始)传入事务和
TRANSACTION_TYPE == 55的传出交易
Transaction_Type == 90是应该添加到余额(在交易级别)的临时贷记和
最后,我必须为每个ID使用剩余金额(清除金额)Transaction_Type == 63创建一行。我应该如何计算余额金额使用MySQL

+0

编辑你的问题,并定义所需的余额计算。另外,用你正在使用的数据库标记你的问题。 –

+0

我发现每次交易后余额都会更新,这是您存储的数据还是您希望将其作为输出?您能否澄清从提供的样本数据中需要看到的输出是什么?如果你已经写过任何不适合你的查询,或者你想让别人为你写信给你? – Spidey

回答

0

你还没有给我们任何工作模式,所以我做出了合理的假设。

试试这个:

insert into Trs (Trs_ID, Trs_Type, Amount) 
select * from (
    select ID, 63, sum(amount * case when Trs_type = 55 then -1 else 1 end) 
    from Trs 
    group by ID, 63) x