SQL网格不支持FULL JOIN全接连吗?

发布于 2021-12-03 23:32:28 字数 2624 浏览 670 评论 3

@李玉珏 你好,想跟你请教个问题:我在学习使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

各自安好 2021-12-04 05:41:26

全连接这个问题倒还好,但是我又试了group_concat之类的分组聚合函数,ignite也不支持,报UnsupportedOperationException。并且从官方文档上来看,貌似自定义sql函数也只能是一些相对简单的单行处理函数,不能像spark那样做UDAF、UDTF

把昨日还给我 2021-12-04 05:14:08

回复
两个平台的技术路线不同。 你只能选择适合自己需求的技术平台了。

无人问我粥可暖 2021-12-04 05:07:40

你这个提示就是语法错误。

Ignite的SQL查询是以H2作为SQL解析器的,所以语法H2不支持,那么Ignite就不会支持。

你换一种写法吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文