0

2 つの異なるエンティティから、JPA で計算する 2 つの合計があります。

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

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

私が必要とするのは、この合計の合計です。JPAQLで可能ですか?または、2 つの別個のクエリを実行して、これをアプリケーションに追加する必要がありますか?

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 に答える