java - Esper引擎:我不能在'inner join on'之后使用'<'或'>'吗?
问题描述
EPL如下:
select * from EventObject(name='abc')#win(2 min) e1 inner join EventObject(name='bcd')#win(2 min) e2 on e1.length > e2.length
但是,有一个错误:
Exception in thread "main" com.espertech.esper.client.EPStatementSyntaxException: Incorrect syntax near '>' expecting an equals '=' but found a greater then '>' at line 1 column 114, please check the outer join within the from clause [select * from EventObject(name='abc')#win(2 min) e1 inner join EventObject(name='bcd')#win(2 min) e2 on e1.length > e2.length ]
at com.espertech.esper.epl.parse.ExceptionConvertor.convertStatement(ExceptionConvertor.java:46)
at com.espertech.esper.epl.parse.ParseHelper.parse(ParseHelper.java:111)
at com.espertech.esper.core.service.EPAdministratorHelper.compileEPL(EPAdministratorHelper.java:84)
at com.espertech.esper.core.service.EPAdministratorHelper.compileEPL(EPAdministratorHelper.java:67)
at com.espertech.esper.core.service.EPAdministratorImpl.createEPLStmt(EPAdministratorImpl.java:104)
at com.espertech.esper.core.service.EPAdministratorImpl.createEPL(EPAdministratorImpl.java:63)
at esper.demo.HelloEsper5.main(HelloEsper5.java:27)
解决方案
on-clause 只允许等于'='。但是,您可以将其关闭并使用“位置”或“拥有”。
推荐阅读
- python - 使用预训练的 Transformer 模型将短句扩展到长句
- c++ - 我应该在类的析构函数中写什么
- google-sheets - 创建自动化数据库的最佳方法
- html - 如何使跨度与 html 中的标点符号具有相同的包装?
- c# - 我的 UWP 检查更新不起作用。GetAppAndOptionalStorePackageUpdatesAsync() 的结果似乎不正确
- google-apps-script - 如何存储 JSON 循环值并将其发送到空工作表?
- matlab - For 循环设置变量但略有变化
- javascript - 即使使用 JSON.stringify,输出也是 [object,Object]
- typescript - 如何从 Typescript 中数组中的项类型中删除空接口类型
- mips - MIP 指令集延迟(以周期为单位)和伪指令