嗨,伙计们。我拼命寻求帮助。 Please take a look at this image first. 谢谢。现在
请查看下表。最右边的栏REMAINING BALANCE持有credit_amount-debit_amount的总和。但是,当我添加新的信用额时,它将在整个列中更改。例如,“剩余余额”列的值为102500.0。如果我加了500点功劳,应该只能在该特定行中给我102500 + 500 = 103000。 102500将在上一行保持不变。但是我的问题是,它在整个列中都改变了。
我已经使用此存储库对贷方总额进行了总计,并减去了借方总额。
// Find remaining balance
@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b")
double remainingBalance();
感谢您的关注。
答案 0 :(得分:1)
好吧,似乎您需要在查询中指定一个条件,否则,SQL查询(或您的情况下的JPQL)将应用于整个表...
我会做类似的事情:
@Query("SELECT SUM(b.credit_amount - b.debit_amount) FROM Mosque b where b.id =?")
double remainingBalance(int id);
否则,没有条件,对于您拥有的每个域对象,您将查询整个表。因此,您将始终获得相同的结果。如果在数据库中运行此查询,您将看到只有一个结果,因为SUM会将所有行“累加”在一起。