我目前站在一个我不太了解如何在学说中解决的问题面前。
这是我目前的查询:
SELECT SUM(t.amount) FROM AccountingBundle:Entity:Transaction t WHERE t.SourceAccount = ?1 or t.TargetAccount = ?1
虽然TargetAccount
应该是正面的,而SourceAccount
应该是负面的。
我不是真的想做2个查询,因为这个学说和PostgreSQL更快。
我找到了可能的解决方案
CASE WHEN t.SourceAccount = ?1 THEN ... ELSE ...
但我还没有找到一种方法来告诉学说价值是否定的。 任何人都可以告诉我如何实现这样的目标吗?
答案 0 :(得分:1)
不会这样做:
SELECT
SUM(CASE WHEN t.SourceAccount = ?1 THEN t.ammount * -1 ELSE t.ammount)
FROM
AccountingBundle:Entity:Transaction t
WHERE
t.SourceAccount = ?1 or t.TargetAccount = ?1
解决你的问题?
编辑:这里的诀窍是将金额乘以-1,使其为负数