首页 > 解决方案 > 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)

标签: javaesper

解决方案


on-clause 只允许等于'='。但是,您可以将其关闭并使用“位置”或“拥有”。


推荐阅读