2015-04-02 26 views
0

我敢肯定,這種說法作品在艾斯波:艾斯波如何連接表

/* query from table TableA when receive event PriceEvent */ 
ON PriceEvent p 
SELECT a.SymbolA, p.price 
FROM TableA a 
WHERE a.Symbol = p.Symbol 

但這一說法引發錯誤:

/* join table TableA with TableB */ 
ON PriceEvent p 
SELECT a.SymbolA, p.price, b.SymbolB 
FROM TableA a, TableB b 
WHERE a.Key = b.Key and a.Symbol = p.Symbol 

錯誤消息:

com.espertech.esper.client.EPStatementSyntaxException: Incorrect syntax near ',' expecting end-of-input but found a comma ',' 

然後我使用JOIN但它仍然不起作用:

/* join table TableA with TableB */ 
ON PriceEvent p 
SELECT a.SymbolA, p.price, b.SymbolB 
FROM TableA a inner join TableB b 
ON a.Key = b.Key 
WHERE a.Symbol = p.Symbol 

錯誤消息:

Incorrect syntax near 'join' (a reserved keyword) expecting end-of-input but found 'join' 

如何加入兩個表中艾斯波?

回答

0

on-select只允許一個命名的窗口或表而不是多個。聯接只是「從A,B,C ...中選擇*」,您可以使用「單向」進行查看。

+0

我看...有什麼方法可以將表與事件連接起來嗎? – hkdeveloper758 2015-04-08 02:20:43

+0

是的,文檔有例子。 from子句也可以有表,命名窗口和外部的東西,如jdbc/rdbms或提供連接數據的方法。 – user650839 2015-04-10 13:14:10