FROM句を文の中で使用すると、その文が含まれる検索/ナビゲーション問合せの結果とは別のレコード・ソースを指定できます。
デフォルトでは、EQL文のレコードのソースは、その文が含まれる検索/ナビゲーション問合せの結果です。ただし、FROM構文を文の中で使用して、別のデータ・ソース(状態名、定義済の文などから)を指定することもできます。
FROMの構文は次のとおりです。
FROM <recSource> [alias]ここで、<recSource>には次のものを指定できます。
問合せでFROM句を省略すると、EQL文ではコーパス・ベースのNavStateRecordsソースが使用されます。
FROM AllBaseRecords
FROMがない場合は、暗黙的にNavStateRecordsを指定したことになります。つまり、問合せをNavStateRecordsに対して実行する場合は、FROM句を文の中で使用する必要はありません。
DEFINE RepQuarters AS SELECT COUNT(TransId) AS NumTrans GROUP BY SalesRep, Quarter; RETURN Quarters AS SELECT AVG(NumTrans) AS AvgTransPerRep FROM RepQuarters GROUP BY Quarter
{ J. Smith, 11Q1, 10 }
{ J. Smith, 11Q2, 3 }
{ F. Jackson, 10Q4, 10 }
...
{ 10Q4, 10 }
{ 11Q1, 4.5 }
{ 11Q2, 6 }
...
FROM <statename>[.FILTERED | .UNFILTERED | .ALL]
<Request>
<Language>en</Language>
<State>
<Name>Wine</Name>
<DataSourceFilter Id="DataFltr">
<filterString>WineType <> 'Red'</filterString>
</DataSourceFilter>
<SelectionFilter Id="SecFltr">
<filterString>Price > 25</filterString>
</SelectionFilter>
</State>
<EQLConfig Id="Results">
<StateName>Wine</StateName>
<EQLQueryString>
RETURN results AS
SELECT Price AS prices
FROM Wine.FILTERED
GROUP BY prices
</EQLQueryString>
</EQLConfig>
</Request>
FROM Wine.UNFILTEREDDataSourceFilterフィルタのみが適用されます(つまり、SelectionFilterフィルタは無視されます)。この場合、EQL文では、セキュリティ・フィルタを通過した11レコードが返されます。