gpt4 book ai didi

mysql - 查看mysql中计算余额

转载 作者:行者123 更新时间:2023-11-29 23:17:30 25 4
gpt4 key购买 nike

我在 mysql 中有一个 View ,运行良好并正确显示结果。

   SELECT m.`id_cuota`, m.`clv_cuota`, m.`debe`, m.`haber`,
(select sum(debe) - sum(haber)
from cuotas m2
where m2.id_cuota <= m.id_cuota
) as balance
FROM `cuotas` m
ORDER BY m.`id_cuota` DESC;


id_cuota clv_cuota debe haber balance
22 115 25.00 0.00 125.00
21 115 0.00 150.00 100.00
20 115 50.00 0.00 250.00
19 116 100.00 0.00 200.00
18 115 100.00 0.00 100.00

我想知道如何进行查询,但结果是例如。 “clv_cuotas=115”。这就是结果。

  id_cuota  clv_cuota  debe    haber     balance
22 115 25.00 0.00 25.00
21 115 0.00 150.00 0.00
20 115 50.00 0.00 150.00
18 115 100.00 0.00 100.00

最佳答案

在不重做查询本身的情况下,问题是运行总余额需要 116 才能获得正确的余额,只有在计算出值之后,您才能删除它们。因此,包装在一个查询中,例如:

select PQ.*
from ( your existing query ) PQ
where PQ.clv_cuto = 115

这样,内部行是根据所有 clv_cuto 值计算的,并且仅在事后排除。

注意:这应该显示您期望从第一个查询中获得的正确余额,仅返回这 115 个条目。

为了回答/澄清您的需求,由于您只关心帐户 115 的净事件,因此只需将其作为您的 where 子句即可。它需要应用于查询的内部和外部部分。

SELECT m.`id_cuota`, m.`clv_cuota`, m.`debe`, m.`haber`,
(select sum(debe) - sum(haber)
from cuotas m2
where m2.id_cuota <= m.id_cuota
AND m2.clv_cuota = 115
) as balance
FROM `cuotas` m
WHERE m2.clv_cuota = 115
ORDER BY m.`id_cuota` DESC;

关于mysql - 查看mysql中计算余额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com