where句によって、複数イベントストリームを結合する際の条件やイベントをフィルターする際の条件を指定できます。
構文:
where 条件式
where句の条件式では、比較演算子 =、<、>、>=、<=、!=、<>、is null、is not null、および、andやorによる論理的な組合せをサポートしています。
注意
Virtual Data Window使用時の注意
Virtual Data Window に格納された情報にアクセスする際に利用できるwhere句には以下の制限があります。
以下の制限は、キャッシュからレコードを特定する際に制限されるものです。
レコードが特定された後であれば、以下の制限はなく通常通りにルールを記述することができます。
レコードの特定には、@VDWアノテーションで指定したキープロパティのみ指定可能です。
レコードの特定で指定可能な、キープロパティに対する比較演算子は"="のみです。
記述例
M.code = T.code でレコードを特定後、他の項目についての比較を行っています。
@VDW(cacheName='MARKET',keyProperty='code') create window MarketWindow.isxtp:vdw() (code string, high int, low int); select M.code from MarketWindow as M, TicketWindow T where M.code = T.code and ( T.price > M.high or T.price < M.low)
以下は上記のキャッシュでOKな記述例と、NGな記述例です。
No | 記述例 | OK/NG | 説明 |
---|---|---|---|
1 | select * from MarketWindow where code = ‘1111' | OK | キープロパティに対する‘=’オペレーション |
2 | select * from MarketWindow where high = 1000 | NG | キープロパティ以外をWHERE句に指定しているためNG |
3 | select * from MarketWindow where code > ‘1111’ | NG | キープロパティのみWHERE句に指定しているが、‘=’以外の演算を行っているためNG |