この次のようなクエリを見つけてください。 私は春データjpaで書いたこの質問。だからそれはすべてのリレーショナルデータベース上で動作するはずですが、私はMsSQLサーバとのMySQLで例外が発生します。SpringデータJPAクエリがMsSQLサーバーで機能していない
@Query(value = "SELECT p.ct,p.ctc,p.fy,"
+ " sum(p.oA + p.nA) as a,p.py "
+ " FROM P p where p.py = :py AND p.fy = :fy "
+ " AND p.B.eId in (SELECT eId FROM B WHERE o.oId in (:oIds)) group by p.ct")
List<?> test(@Param("py")String py,@Param("fy") Integer fy,@Param("oIds")List<Integer> oIds);
これは完全にのMySQLサーバー上で作業が、MsSQLがサーバー上で動作していません。
私はで実行していますが、MsSQLは例外を与えています。
SqlExceptionHelper: Column 'tbl.ctc' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
[2017-10-27 09:38:38.108] boot - 83734 ERROR [http-bio-8080-exec-1] ---
助けてください。
ありがとうございます。
@ PM77-1これはSpring-data-jpaなので、すべてのリレーショナルテーブルで動作するはずです。それがなぜmysqlで動作するのですか?これは私の質問ですので重複しません。 –
私はspring-data-jpaでこの解決策が必要です。これはmysqlとmssqlの両方で動作するはずです。 –