SQL网格不支持FULL JOIN全接连吗?
@李玉珏 你好,想跟你请教个问题:我在学习使用Ignite 2.1.0时写了一条关联语句,想用全连接进行数据查询,但是出了一个异常:
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT A.ID,A.NAME,B.ID TID,B.NAME TNAME FROM STUDENT A FULL JOIN[*] TEACHER B ON A.TID=B.ID ORDER BY A.ID ASC,B.ID ASC "; SQL statement:
select a.id,a.name,b.id tid,b.name tname from Student a full join Teacher b on a.tid=b.id order by a.id asc,b.id asc [42000-195]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.getSyntaxError(DbException.java:191)
at org.h2.command.Parser.getSyntaxError(Parser.java:533)
at org.h2.command.Parser.readJoin(Parser.java:1582)
at org.h2.command.Parser.parseJoinTableFilter(Parser.java:1985)
at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1941)
at org.h2.command.Parser.parseSelectSimple(Parser.java:2089)
at org.h2.command.Parser.parseSelectSub(Parser.java:1934)
at org.h2.command.Parser.parseSelectUnion(Parser.java:1749)
at org.h2.command.Parser.parseSelect(Parser.java:1737)
at org.h2.command.Parser.parsePrepared(Parser.java:448)
at org.h2.command.Parser.parse(Parser.java:320)
at org.h2.command.Parser.parse(Parser.java:296)
at org.h2.command.Parser.prepareCommand(Parser.java:257)
at org.h2.engine.Session.prepareLocal(Session.java:573)
at org.h2.engine.Session.prepareCommand(Session.java:514)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204)
at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:398)
at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1273)
... 9 more
请问这是为什么呢?是H2的原因吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
全连接这个问题倒还好,但是我又试了group_concat之类的分组聚合函数,ignite也不支持,报UnsupportedOperationException。并且从官方文档上来看,貌似自定义sql函数也只能是一些相对简单的单行处理函数,不能像spark那样做UDAF、UDTF
回复
两个平台的技术路线不同。 你只能选择适合自己需求的技术平台了。
你这个提示就是语法错误。
Ignite的SQL查询是以H2作为SQL解析器的,所以语法H2不支持,那么Ignite就不会支持。
你换一种写法吧。