FROM句

FROM句を文の中で使用すると、その文が含まれる検索/ナビゲーション問合せの結果とは別のレコード・ソースを指定できます。

構文は次のとおりです。

FROM <statementKey> [alias]

デフォルトでは、EQL文のレコードのソースは、その文が含まれる検索/ナビゲーション問合せの結果です。ただし、FROM構文は文の中で別のレコード・ソースを指定するために使用することもできます。このレコード・ソースはコーパスから、または定義済の文からのものであり、その文がDEFINERETURNかを問いません。

次の2つは、コーパス・ベースのソースを指定するための名前です。

注意: 問合せをNavStateRecordsに対して実行する場合は、FROM構文を文の中で使用する必要はありません。FROMがない場合は、暗黙的にNavStateRecordsを指定したことになります。
別の文の結果をレコード・ソースとして使用することもできます。次に示す例では、文の1つで販売トランザクションの総数を、四半期(quarter)および販売員(sales representative)ごとに計算しています。次に販売員ごとの平均トランザクション数を計算するために、後続の文でこの結果を四半期ごとにグルーピングします。
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
RepQuarters文によって、レコードのリストが生成されます。各レコードに格納されている属性は、{ SalesRep, Quarter, NumTrans }です。次に例を示します。
{ J. Smith, 11Q1, 10 }
{ J. Smith, 11Q2, 3 }
{ F. Jackson, 10Q4, 10 }
...
Quartersの文では、RepQuartersの文の結果を使用して属性{ Quarter, AvgTransPerRep }のリストを生成します。次に例を示します。
{ 10Q4, 10 }
{ 11Q1, 4.5 }
{ 11Q2, 6 }
...