2017-10-04 24 views
0

私はnHibernateとHQLについてかなり新しくなっていますが、ドキュメントを使用してもselect文の中でサブクエリすることは可能です。selectステートメントのHQLサブクエリ

は、このクエリを実行しようとすると:。私は受け取る

SELECT DISTINCT a.ID, (SELECT COUNT(accHld.ID) FROM AccountHolder accHld 
    WHERE a.ID = accHld.Account) FROM Account a GROUP BY a.ID 

は「SELECT句の前に期待されるHQL機能 『(』」である

私はとして機能することで、グループ内のサブクエリを追加しようとしています。誰もが私が間違って何をしていたか知っていれば良く、無駄に私は思っていた

答えて

0

あなただけサブクエリが左外部結合を必要としない:?

SELECT DISTINCT a.ID, COUNT(accHld.ID) 
FROM Account a 
LEFT OUTER JOIN AccountHolder accHld ON a.ID = accHld.Account 
GROUP BY a.ID 
0123を
+0

あなたのコメントをいただきありがとうございます、唯一の問題は、アカウントの上に、私はまた、 "支払い"とアカウント所有者という別のクラスに参加する必要があるということです。私がこの問題を抱えているのは、どちらもAccountsクラスにマップされているため、別名を使用していても重複した情報が得られるということです。とにかくこの周りにはありますか? –

+0

私はそれを取得していない、あなたはどのテーブルのどの属性を得るために、アカウント、支払い、およびAccountHoldersに参加したいですか? – Aldeguer

+0

申し訳ありませんが、大丈夫です、私は3つの敷地を持っています。支払い、口座保有者および口座。支払いと口座保有者の両方にアカウントへのマッピングがあります。 HQLを使用して、Account.IDとPaymentsとAccountHoldersの両方の外部キーの両方を使用して結合し、データを選択すると、dublicatesが返されます。 –

関連する問題