0

実行しようとしている HQL クエリがありますが、QueryException が発生し続けます。

私のクエリは

SELECT a FROM (SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM ConsumoMe m WHERE m.codoperacion  IN ('MEL101','MEL102') AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion), ConsumoMe a WHERE codOp = a.codoperacion AND maxVersionOp = a.version AND a.fechaBajaLogica IS NULL

そして、私が得る例外:

org.hibernate.QueryException: in expected: SELECT [SELECT a FROM (SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM es.enagas.siomprog.entities.ConsumoMe m WHERE m.codoperacion  IN ('MEL101','MEL102') AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion), es.enagas.siomprog.entities.ConsumoMe a WHERE codOp = a.codoperacion AND maxVersionOp = a.version AND a.fechaBajaLogica IS NULL]

内側の選択を切り取って実行しようとすると:

SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM ConsumoMe m WHERE m.horizontetemporal IN('PM') AND (m.codoperacion = 'MEL101' OR m.codoperacion = 'MEL102') GROUP BY m.codoperacion

次に、同様の例外が発生します。

org.hibernate.QueryException: , expected in SELECT [SELECT MAX(m.version) maxVersionOp, m.codoperacion codOp FROM es.enagas.siomprog.entities.ConsumoMe m WHERE m.horizontetemporal IN('PM') AND (m.codoperacion = 'MEL101' OR m.codoperacion = 'MEL102') GROUP BY m.codoperacion]

同等の SQL クエリを実行すると、有効な結果が得られます。さらに、これらのエラー メッセージ ", expected in SELECT" はあまり役に立ちません。何が問題になる可能性がありますか?

4

2 に答える 2

1

SQL に複数のエラーが表示されます

m.codoperacion codOp-->m.codoperacion as codOp

AND m.horizontetemporal IN('PM') AND GROUP BY m.codoperacion--> AND があってはなりません

AND m.horizontetemporal IN('PM') GROUP BY m.codoperacion
于 2013-06-27T16:41:28.527 に答える