FROM句を使う
FROM句は、識別子で定義されている入力エレメントで反復処理を行うために使われます。
FROM句は次のような構造であることが必要です。
FROM expression
情報メモ注: FROM句は、配列、レコード、プリミティブ型を返す式と一緒に使用できます。レコードまたはプリミティブ型の場合、この句は単一の項目が含まれている配列を作成します。
Talend Data Mapper ( 8.0.1-R2024-11以降のマンスリーアップデートを伴う)では、FROM句の後に複数のコレクションを使用できます。たとえば、FROM customer, order句はcustomer (顧客)とorder (注文)の直積となります。2番目の入力配列が1番目の入力配列の直接の子である場合(FROM order AS o, o.items AS iなど)、2番目の入力配列のネスト解除が実行され、FROM order as O UNNEST o.items AS iと等しくなります。
FROM句は、ASおよびINDEXなどのような他のキーワードを含めます。
ASキーワードでは、配列のエイリアスを作成し、後続の句で配列内のエレメントの参照に使用できます。エイリアスはクエリー全体で一意であり、以下のように定義されることが必要です:FROM expression AS alias
エイリアスのないFROM句を使う時に、UNNEST句に後続されている場合、または識別子が絶対パスである場合を除いて、クエリーで使用される識別子はすべてFROM句で識別子の相対パスとして扱われます。たとえば次のクエリーでは:
FROM customers
SELECT {
name,
id
}
選択されたエレメントはcustomers.nameとcustomers.idです。入力データをinputと名付けたこのクエリーでも同じ結果が得られます。
FROM customers
SELECT {
input.customers.name,
input.customers.id
}
INDEXキーワードでは、変数に現在の反復のインデックスを保管できます。変数は$記号で始まる必要があり、階層識別子ではない必要があります(たとえば $item.indexは有効な変数ではありません)。変数はクエリー全体で一意であることが必要です。INDEXを以下のように定義する必要があります:
FROM expression INDEX $variable_name
次の例は有効なFROM句です:
FROM customers AS c INDEX $i
FROM 1 TO 5 AS i
FROM toArray(address_1, address_2, address_3) AS addr INDEX $i
FROM ['a', 'e', 'i', 'o', 'u', 'y' ] AS vowels
FROM order AS o, o.items AS i