0

我有两个总和要在 JPA 中计算,来自两个不同的实体:

SELECT SUM(da.debtorBalance) FROM DebtorAccount da WHERE <conditions for DebtorAccounts>

SELECT SUM(mda.debtorBalance) FROM MasterDebtorAccount mda WHERE <conditions for MasterDebtorAccounts>

我需要的是这些总和的总和。JPAQL可以吗?或者我需要运行两个单独的查询并将其添加到应用程序中?

4

2 回答 2

1

你不能在严格的 JPQL 中。

在 SQL 中,它类似于

SELECT SUM(a) FROM (SELECT da.debtorBalance a from DebtorAccount UNION SELECT mda.debtorBalance a FROM MasterDebtorAccount)

JPA 不支持 UNION,尽管有几个实现支持。

不,没有联合你不能这样做,因为关系代数意味着你从 DebtorAccount * MasterDebtorBalance 开始,然后通过条件/应用函数对其进行改进。

于 2012-08-28T16:04:58.850 回答
0

你有没有尝试过?

SELECT SUM(SUM(da.debtorBalance), SUM(mda.debtorBalance)) 
FROM DebtorAccount da, MasterDebtorAccount mda
WHERE (<conditions for DebtorAccounts>) OR (<conditions for MasterDebtorAccounts>)

各位,

于 2012-08-28T15:51:01.063 回答