2016-11-21 5 views
1
SELECT * 
FROM visitdetails vd 
LEFT JOIN 
    (SELECT MAX(id) AS id, VisitID 
    FROM claimfilelist GROUP BY VisitID) cf ON cf.visitid = vd.Id 
LEFT JOIN claimfilelist cf1 ON cf1.id = cf.id 

私はこのSQLクエリを持っています。どうすればHQLに変換できますか?派生テーブルを持つSQLクエリをHQLに変換するにはどうすればよいですか?

+0

ハイブクエリ言語またはハイバーネイトクエリ言語? –

+0

hibernate query language – Chinnu

答えて

1

HQL-documentationは、サブクエリはSELECTWHEREでのみ許可されています。だから、私の最初のステップは、WHERE -clauseにサブクエリを移動することです:

SELECT * 
FROM visitdetails vd 
    LEFT JOIN claimfilelist cf ON cf.visitid = vd.id 
WHERE cf.id IS NULL OR cf.id = (
    SELECT max(cfInner.id) 
    FROM claimfilelist cfInner 
    WHERE cfInner.visitId = vd.id 
) 

をあなたの休止状態に応じて - あなたが参加する変更する必要があるかもしれませんバージョンが。クエリが機能するかどうかはわかりませんが、アプローチを試すことができます。

+0

hqlは左結合のために 'on'条件をサポートしていますか? – Chinnu

+0

"LEFT JOIN claimfilelist cf cf.visitid = vd.id" hqlのこの 'on'条件でテーブルを結合することは可能ですか? – Chinnu

+0

私は次のエラーがあります。 – Chinnu

関連する問題