Java H2 DB交叉连接未执行

Java H2 DB交叉连接未执行,java,sql,h2,Java,Sql,H2,我使用的是H2-1.4.191.jar数据库,并具有以下SQL: SELECT * FROM ( (SELECT A.COL AS AC_1, B.COL AS BC_1 FROM A, B WHERE AC_1 = 'someconst') CROSS JOIN (SELECT A.COL AS AC_2, B.COL AS BC_2 FROM A, B WHERE AC_2 = 'another_const')) WHERE BC_1 <> BC_2 LIMIT 1 H2DB放

我使用的是H2-1.4.191.jar数据库,并具有以下SQL:

SELECT * FROM ( (SELECT A.COL AS AC_1, B.COL AS BC_1 FROM A, B WHERE AC_1 = 'someconst') CROSS JOIN (SELECT A.COL AS AC_2, B.COL AS BC_2 FROM A, B WHERE AC_2 = 'another_const')) WHERE BC_1 <> BC_2 LIMIT 1
H2DB放在内存中,并嵌入到我的Java应用程序中。当我尝试执行SQL时,出现以下异常:

org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement " SELECT * FROM ( (SELECT A.COL AS AC_1, B.COL AS BC_1 FROM A, B WHERE AC_1 = 'some_const') CROSS[*] JOIN (SELECT A.COL AS AC_2, B.COL AS BC_2 FROM A, B WHERE AC_2 = 'some_another_const')) WHERE BC_1 <> BC_2 LIMIT 1"; expected "UNION, MINUS, EXCEPT, INTERSECT, ORDER, OFFSET, FETCH, LIMIT, FOR, )";
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.getSyntaxError(DbException.java:205)
at org.h2.command.Parser.getSyntaxError(Parser.java:535)
at org.h2.command.Parser.read(Parser.java:3170)
at org.h2.command.Parser.readTableFilter(Parser.java:1170)
at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1884)
at org.h2.command.Parser.parseSelectSimple(Parser.java:2032)
at org.h2.command.Parser.parseSelectSub(Parser.java:1878)
at org.h2.command.Parser.parseSelectUnion(Parser.java:1699)
at org.h2.command.Parser.parseSelect(Parser.java:1687)
at org.h2.command.Parser.parsePrepared(Parser.java:443)
at org.h2.command.Parser.parse(Parser.java:315)
at org.h2.command.Parser.parse(Parser.java:291)
at org.h2.command.Parser.prepareCommand(Parser.java:252)
at org.h2.engine.Session.prepareLocal(Session.java:560)
at org.h2.engine.Session.prepareCommand(Session.java:501)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:73)
at generation.db.QueryMaker.exec(QueryMaker.java:139)
在SQLite中,一切都很好。
我应该怎么做才能使它在H2中工作?

这个没有外括号的查询正常工作:

  SELECT * FROM (SELECT A.COL AS AC_1, B.COL AS BC_1 FROM A, B WHERE AC_1 = 'someconst') CROSS JOIN (SELECT A.COL AS AC_2, B.COL AS BC_2 FROM A, B WHERE AC_2 = 'another_const') WHERE BC_1 <> BC_2 LIMIT 1